in reply to Re: From Array 2 string
in thread From Array 2 string
use Benchmark qw( cmpthese ); # From "man perlrun": my @array = qw( Perl is a language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It's also a good language for many system management tasks. The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal). ); my %tests = ( 'join' => sub { my $str = join('', @array); +1; } , 'stringify' => sub { local $" = ''; my $str = "@array"; +1; } ); print(@array . " words:\n\n"); cmpthese(-2, \%tests); print("\n\n"); splice(@array, 20); print(@array . " words:\n\n"); cmpthese(-2, \%tests); print("\n\n"); @array = (@array) x 100; print(@array . " words:\n\n"); cmpthese(-2, \%tests);
20 words: Rate stringify join stringify 155272/s -- -29% join 219556/s 41% -- 51 words: Rate stringify join stringify 83452/s -- -16% join 99407/s 19% -- 2000 words: Rate stringify join stringify 2736/s -- -3% join 2813/s 3% --
They're about the same speed, but stringification has a much bigger overhead. Better off with join.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: From Array 2 string
by Aristotle (Chancellor) on Nov 15, 2005 at 19:23 UTC |