[MERGE] refactor pp_iter
authorDavid Mitchell <davem@iabyn.com>
Thu, 15 Nov 2012 22:46:31 +0000 (22:46 +0000)
committerDavid Mitchell <davem@iabyn.com>
Thu, 15 Nov 2012 22:53:41 +0000 (22:53 +0000)
Refactor the code in this hot function. Chiefly, the if/else chain
was replaced with a single switch statment, and various bits of code were
tidied up, duplicate code eliminated, local vars added to avoid repeated
evaluation of expressions etc; along with big whitespace changes to fix up
indentation etc afterwards.

With these changes, these trivial benchamarks run about 7% faster:

    $x++ for @a; # @a has 30_000 elements
    $x++ for 1..30_000;

while this one stayed about the same, presumably due to the relatively
costly overhead of sv_inc():

    $x++ for 'aaa' .. 'zzz';


Trivial merge