in reply to Re: Optimizing the bejeezus out of a sub
in thread Optimizing the bejeezus out of a sub

My goal was to speed things up by avoiding copying each value from @_ to $section. While foreach is certainly more aesthetic, some benchmarking shows it to be about the same speed as my loop.

I'm a little surprised by this, actually; I expected using @_ directly to always be faster, since it would avoid copying values.

  • Comment on Re: Re: Optimizing the bejeezus out of a sub

Replies are listed 'Best First'.
Re: Re: Re: Optimizing the bejeezus out of a sub
by IlyaM (Parson) on Jun 24, 2003 at 08:55 UTC
    foreach my $section ( @_ ) { ... } doesn't copy value from @_ to $section. In the loop the variable $section is merely an alias to a currently selected element in @_ array. You can even modify @_ array by assigning a new value to $section. Example:

    # adds 1 to all elements of array foreach my $elem (@arr) { $elem ++; }

    --
    Ilya Martynov, ilya@iponweb.net
    CTO IPonWEB (UK) Ltd
    Quality Perl Programming and Unix Support UK managed @ offshore prices - http://www.iponweb.net
    Personal website - http://martynov.org