J'ai un code Perl:fuite de mémoire dans HTML :: TreeBuilder
use HTML::Parse;
use HTML::FormatText;
# ...
my $txtFormatter = HTML::FormatText->new();
while (...) { # some condition
my $txt = # get from a file
my $html_tree = HTML::TreeBuilder->new_from_content($txt);
$txt = $txtFormatter->format($html_tree);
$html_tree->delete();
# write $txt to a file
}
Je remarqué le processus perl.exe
augmente régulièrement en taille (jusqu'à 600 Mo après 2 millions ou itérations de la boucle). Si je supprime le HTML::TreeBuilder
, cela n'augmentera pas du tout. Y at-il quelque chose que je peux faire pour brancher cette fuite?
Voir: [motifs de fuite de référence de mémoire commune Perl] (http://stackoverflow.com/questions/2223721/common-perl-memory-reference-leak-patterns) et [Perl utilisation de la mémoire: profilage et détection de fuite] (http://stackoverflow.com/questions/1359771/perl-memory-usage-profiling-and-leak-detection). – Ether
Très bien, mais je ne veux pas déboguer HTML :: TreeBuilder! – JoelFan
Quelle version de 'HTML :: TreeBuilder' utilisez-vous? Quelle version de 'perl'? Vous obtenez l'image. –