in reply to The fastest way of searching a certain element in an array
It seemed to fare better when the match was towards the end of the 'joined' string (Fastest at matching positions 0.8 and 0.9 out of all the other subs on my machine). The interesting thing was that it yielded similar rates for all matching positions. It could be that the join function is expensive compared to the index function (likely), so the timing is swamped by joining the elements in the array. Which also indicates that the index function is FAST...my %subs = ( join_index => sub { my $joined = '#' . join('#', @Array) . '#'; return (index($joined, '#TEST#') >= 0) ? 1 : 0; }, grep_block => sub { GREP: { grep { $_ eq TEST and next GREP } @Array; return; } continue { return 1; } }, ... etc.
|
---|