Difference between revisions of "Optimizing code"

From Dreamwidth Notes
Jump to: navigation, search
(Rewriting a bit.)
m (Typo.)
Line 3: Line 3:
 
== Avoid shift ==
 
== Avoid shift ==
  
The <code>shift()</code>> function, used to take the first argument from the <code>@_</code> list, is slow. Instead:
+
The <code>shift()</code> function, used to take the first argument from the <code>@_</code> list, is slow. Instead:
  
 
* For short functions (1-5 lines), use <code>$_[0]</code> for the first argument, <code>$_[1] for the second, etc.
 
* For short functions (1-5 lines), use <code>$_[0]</code> for the first argument, <code>$_[1] for the second, etc.

Revision as of 17:52, 6 July 2009

This is a page on code optimization--practices that encourage efficient code.

Avoid shift

The shift() function, used to take the first argument from the @_ list, is slow. Instead:

  • For short functions (1-5 lines), use $_[0] for the first argument, $_[1] for the second, etc.
  • For longer functions, use the following construct to assign the values to named scalars:
my ( $foo, $bar ) = @_;

(source)