Bug #763
RCP: 0.7.5: Fix concordance export memory usage
Statut: | Closed | Début: | 24/04/2014 | |
---|---|---|---|---|
Priorité: | Normal | Echéance: | ||
Assigné à: | - | % réalisé: | 100% |
|
Catégorie: | Commands | Temps passé: | - | |
Version cible: | TXM 0.7.6 |
Description
The current Concordance export loads all the concordance Lines in memory before writing them into the CSV file which leads to memory exhaustion for voluminous concordance results.
Solution¶
A solution is to write the concordance lines per packet, letting early packets to be garbage collected to keep memory consumption level.
2 development steps :
A- Create a macro (to provide a rapid answer)
B- Fix Concordance.toTxt(...) in sources and produce an update
Recette macro (FR)¶
- Télécharger l'archive de la macro (pièce jointe)
- copier le dossier "export" que l'archive contient dans le dossier des macros de TXM ($TXMHOME/scripts/macro
(et non "macros" !)).
- faire une concordance de "[]" sur BROWN
- lancer la macro sur la concordance
- vérifier que le nombre de lignes (wc -l) est le nombre de résultat + 1 (l'entête)
Recette maj (FR)¶
- ...
- faire une concordance de "[]" sur BROWN
- lancer la macro sur la concordance
- vérifier que le nombre de lignes (wc -l) est le nombre de résultat + 1 (l'entête)
Historique
#1 Mis à jour par Matthieu Decorde il y a plus de 11 ans
Packet size will be set to 5000.
R code to visualize the experimental export time graph (in milliseconds) in terms of packet size (line), for a concordance of 900k lines on a standard Linux workstation:
size <- c(10,100,1000,5000,10000,50000,100000) time <- c(57152,50090,49592,49525,50394,53320,58106) plot(size, time,type="p")
#2 Mis à jour par Matthieu Decorde il y a plus de 11 ans
- Description mis à jour (diff)
#3 Mis à jour par Serge Heiden il y a plus de 11 ans
- Description mis à jour (diff)
#4 Mis à jour par Matthieu Decorde il y a plus de 11 ans
- % réalisé changé de 0 à 50
A macro fixing the bug is currenlty under test
#5 Mis à jour par Alexey Lavrentev il y a plus de 11 ans
- Description mis à jour (diff)
#6 Mis à jour par Sebastien Jacquot il y a plus de 11 ans
It worked very well with the "Brown" corpora.
Number of lines in concordance: 1 161 028
Number of lines in .tsv file: 1 161 029
Elapsed time: 106621 ms
#7 Mis à jour par Matthieu Decorde il y a plus de 11 ans
- % réalisé changé de 50 à 80
#8 Mis à jour par Sebastien Jacquot il y a environ 11 ans
- % réalisé changé de 80 à 90
#9 Mis à jour par Matthieu Decorde il y a environ 11 ans
- % réalisé changé de 90 à 100
#10 Mis à jour par Matthieu Decorde il y a environ 11 ans
- Statut changé de New à Closed