in reply to Evolving a faster filter?
It seems like you are traversing the list of thousands of objects many times, and maybe even copying lots of objects too!
So would it be faster to only traverse the objects once? So something like this
NEXT_OBJ: foreach my $obj (@objects) { foreach my $filter (@filters) { next NEXT_OBJ unless $filter->($obj); } push @results,$obj; }
I think there's a smart way to do that with iterators/closures too, but I don't know how fast it would be.
In Section
Seekers of Perl Wisdom