http://qs1969.pair.com?node_id=465358


in reply to Loops loosing Performance

Are you a hacker? Are you not worried if your code looks like crazy old magic? Then you'll love this solution:

sub test0 { return ((($_[0] & $_[1]) * 2113665) & 17895697) % 15; }

(Go ahead! Check that it's correct for all input values!) Benchmarks on my computer, against your code and [id://hv]'s:

Rate Test4 Test5 Test7 Test6 Test0 Test4 64233/s -- -33% -33% -52% -72% Test5 95523/s 49% -- -1% -29% -58% Test7 96399/s 50% 1% -- -28% -58% Test6 133602/s 108% 40% 39% -- -41% Test0 227756/s 255% 138% 136% 70% --