これはばかげた質問のように思えるかもしれませんが、メモリが非常に限られたリソースであるアプリケーションを構築しているため、メモリの使用についてできる限り注意する必要があります。だから私の質問は、次のうちどれがよりメモリ効率が良いですか?
while(<LINKS_FILE>) {
my $extor = HTML::SimpleLinkExtor->new($resp->base); #$resp from above somewhere
$extor->parse($_);
my @links = $extor->links;
for my $link (@links) { print "$link\n" }
}
また
my $extor = HTML::SimpleLinkExtor->new($resp->base); #$resp from above somewhere
while(<LINKS_FILE>) {
$extor->parse($_);
my @links = $extor->links;
for my $link (@links) { print "$link\n" }
$extor->clear_links;
}
したがって、最初の例では毎回新しい HTML::SimleLinkExtor オブジェクトを作成しますが、2 番目の例では、同じものを再度使用するためにリセットするだけです。したがって、2番目の方がメモリ効率が高いように思えますが、正直なところ、メモリをOSに解放することについてperlがどれほど優れているか、または一部のメモリを保持するかどうかはよくわかりませんHTML::SimpleLinkExtor オブジェクトがスコープ外になった後でも。助けてくれてありがとう!