in reply to Why it takes so much time here?
The time (assuming you are running a 64-bit Perl in your 7GB), is taken in two stages:
If you want your Perl code to perform the same thing but more quickly, try this:
#! perl -slw use strict; use Time::HiRes qw[ time ];; use List::MoreUtils qw/any/; print time(); my @a; $_== 92 and push @a, $_ and last for 1..10000000; print time; print @a; __END__ C:\test>junk38 1325044379.166 1325044379.17017 92
That took just 0.00417 seconds on my machine.
Note that it is different from your C code in that like List::MoreUtils::any(), it stops looking as soon as it has seen a value that meets your test criteria.
|
|---|