From: Eric Wong Date: Sat, 11 Jan 2020 22:35:01 +0000 (+0000) Subject: xt/git_async_cmp: do not slurp large OID list into memory X-Git-Tag: v1.3.0~105 X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=commitdiff_plain;h=e67159e720994c7442636a7d5250ea8a49a85b28 xt/git_async_cmp: do not slurp large OID list into memory I somehow thought "foreach (<$cat>)" could work like "while (<$cat>)" when it came to iterating over file handles... --- diff --git a/xt/git_async_cmp.t b/xt/git_async_cmp.t index f8ffe3d9..18fce3db 100644 --- a/xt/git_async_cmp.t +++ b/xt/git_async_cmp.t @@ -27,7 +27,7 @@ my $async = timeit($nr, sub { my $cat = $git->popen(@cat); $git->cat_async_begin; - foreach (<$cat>) { + while (<$cat>) { my ($oid, undef, undef) = split(/ /); $git->cat_async($oid, $cb); } @@ -39,7 +39,7 @@ my $async = timeit($nr, sub { my $sync = timeit($nr, sub { my $dig = Digest::SHA->new(1); my $cat = $git->popen(@cat); - foreach (<$cat>) { + while (<$cat>) { my ($oid, undef, undef) = split(/ /); my $bref = $git->cat_file($oid); $dig->add($$bref);