in reply to Various ways to concatenating an array of strings
I'd be inclined to use join even if it were somewhat slower. However, my guess is that join is faster and actually, a benchmark bears that out:
use strict; use warnings; use Benchmark qw(cmpthese); my @strings = qw( xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz ppppppppppppppppppppppppppppppppppppppppppppppppppppppppp qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr sssssssssssssssssssssssssssssssssssssssssssssssssssssssss ttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ); cmpthese (-1, { join => sub {join '', @strings}, pack => sub {pack("a*" x ($#strings + 1), @strings)}, } );
Prints:
Rate pack join pack 452302/s -- -58% join 1073851/s 137% --
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Various ways to concatenating an array of strings
by hawtin (Prior) on Mar 30, 2006 at 19:49 UTC | |
by Tanktalus (Canon) on Mar 30, 2006 at 20:18 UTC | |
by ikegami (Patriarch) on Mar 30, 2006 at 19:59 UTC | |
by hawtin (Prior) on Mar 30, 2006 at 20:03 UTC |