--eakHere are my benchmark results: join: 2 wallclock secs ( 1.68 usr + 0.00 sys = 1.68 CPU) loop: 8 wallclock secs ( 7.60 usr + 0.02 sys = 7.62 CPU)
#!/usr/bin/perl -w use Benchmark; my @a1 = qw(3 99 4 33 43 98 83 64 3 99 4 33 43 98 83 64 99 4 33 43 98 + 83 64); my @a2 = qw(3 99 4 33 43 98 83 64 3 99 4 33 43 98 83 64 99 4 33 43 98 + 83 64); sub join_eq { return join('',@a1) eq join('', @a2); } sub loop_eq { my $rc = 1; if ($#a1 != $#a2) { $rc = 0; } else { for (my $i=0; $i<=$#a1; $i++) { $rc = 0 if $a1[$i] ne $a2[$i]; } } return $rc; } timethese(100000, {join => \&join_eq, loop => \&loop_eq});
In reply to Comparing Arrays by eak
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |