/ / fuga de memoria en HTML :: TreeBuilder - windows, perl, memory-leaks, html-tree

Pérdida de memoria en HTML :: TreeBuilder - windows, perl, memory-leaks, html-tree

Tengo un código de Perl:

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
}

Noté el perl.exe el proceso aumenta constantemente de tamaño (hasta 600 MB después de aproximadamente 2 millones de iteraciones de bucle). Si saco el HTML::TreeBuilder Cosas, no aumenta en absoluto. ¿Hay algo que pueda hacer para tapar esta fuga?

Respuestas

0 para la respuesta № 1

No puedo replicar esto con el siguiente script:

#!/usr/bin/perl

use strict; use warnings;

use File::Slurp;
use HTML::FormatText;
use HTML::TreeBuilder;

my $formatter = HTML::FormatText->new;
my $html = read_file "test.html";

while ( 1 ) {
my $tree = HTML::TreeBuilder->new_from_content( $html );
$formatter->format( $tree );
$tree->delete;
}

Dejé que este script se ejecutara durante minutos y el uso de la memoria (en el Administrador de tareas) se mantuvo entre 7,200K y 7,300K.

E: Inicio> perl -v  Esto es Perl, v5.10.1 construido para MSWin32-x86-multi-thread (con 2 parches registrados, vea perl -V para más detalles)  Copyright 1987-2009, Larry Wall  Compilación binaria 1006 [291086] proporcionada por ActiveState http://www.ActiveState.com Construido el 24 de agosto de 2009 13:48:26
E: Inicio> perl -MHTML :: TreeBuilder -e "print $ HTML :: TreeBuilder :: VERSION" 3,23
E: Inicio> perl -MHTML :: FormatText -e "print $ HTML :: FormatText :: VERSION" 2.04