From: Tassilo von Parseval Date: Tue, 25 Oct 2005 08:11:42 +0000 (+0200) Subject: Re: [PATCH] minor speed-up for pp_push() X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=0a75904b806e52eae8a54feaebd1661bb58649d4;p=p5sagit%2Fp5-mst-13.2.git Re: [PATCH] minor speed-up for pp_push() Message-id: <20051025061141.GA2256@ethan> p4raw-id: //depot/perl@25854 --- diff --git a/pp.c b/pp.c index db16281..834d32f 100644 --- a/pp.c +++ b/pp.c @@ -4333,18 +4333,19 @@ PP(pp_push) call_method("PUSH",G_SCALAR|G_DISCARD); LEAVE; SPAGAIN; + SP = ORIGMARK; + PUSHi( AvFILL(ary) + 1 ); } else { - /* Why no pre-extend of ary here ? */ for (++MARK; MARK <= SP; MARK++) { SV * const sv = NEWSV(51, 0); if (*MARK) sv_setsv(sv, *MARK); - av_push(ary, sv); + av_store(ary, AvFILLp(ary)+1, sv); } + SP = ORIGMARK; + PUSHi( AvFILLp(ary) + 1 ); } - SP = ORIGMARK; - PUSHi( AvFILL(ary) + 1 ); RETURN; }