[SP-pm] WWW::Scripter - Como tirar o objeto da memória

Gabriel Andrade gabiruh at gmail.com
Fri Apr 16 08:23:04 PDT 2010


2010/4/16 Andre Carneiro <andregarciacarneiro at gmail.com>:

>                     if($self->agent->success){
>                         $scripter->get($self->product->url_original);
>                         my $dtree     =
> HTML::TreeBuilder::XPath->new_from_content($self->agent->content);
>                         $self->get_detail($dtree , $scripter);
>                      }else {


Porque não:

my $scripter = WWW::Scripter->new(use_plugin => 'Javascript', max_history =>1);
$scripter->get($self->product->url_original);
(...)

Assim você confina lexicalmente $script e deixa o gc do perl cuidar
quando dele quando sair do escopo.

Claro que tem o overhead de criar um objeto a cada chamada e do
mark-and-sweep do gc entrando em ação. Mas *acredito* que eles são no
mínimo uma ordem de grandeza menores que a latência do seu request.

Isso foi o que primeiro veio à minha cabeça, deve haver solução melhor.

Abraço.


More information about the SaoPaulo-pm mailing list