Bug #763

RCP: 0.7.5: Fix concordance export memory usage

Ajouté par Matthieu Decorde il y a plus de 11 ans. Mis à jour il y a environ 11 ans.

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

Formats disponibles : Atom PDF