in reply to Re^4: Question about speeding a regexp count
in thread Question about speeding a regexp count
my bug report stands.
My (described) two-line bugfix applied. No dramatic difference to the performance of the algorithm
#! perl -slw use strict; use Time::HiRes qw[ time ]; use List::Util qw[sum];; my $sequence = join'', map{ ( qw[ A C G T ] )[ rand 4 ] } 1 .. 600_000 +; my $start = time; my( %one, %two, %three ); $one{ $_ }++ for unpack '(A1)*', $sequence; $two{ $_ }++ for unpack '(A2X)*', $sequence; delete @two{ (qw'A C G T') };; $three{ $_ }++ for unpack '(A3XX)*', $sequence; delete @three{ (qw'AA AC AG AT CA CC CG CT GA GC GG GT TA TC TG TT') } +; printf "Elapsed: %3f seconds\n", time - $start; print sum values %one; print sum values %two; print sum values %three; __END__ P:\test>junk Elapsed: 3.390625 seconds 600000 599999 599998
|
|---|