Hmm, [ some XXX module ] might speed it up ?
At the very minimum, the code would need to increment an integer (one of many) , 500 * 50000 times. That takes at least 1.6 seconds in Perl:
$t=time;
$i=0;
++$i for 1 .. 25e6;
print time-$t;;
1.66395616531372
That 7000 times too slow for the OPs target rate.
And that's before you take into account indexing into the arrays; indexing into the counts; and scanning the final tallies to determine which count is highest.
This is impossible using a single machine, even if written in highly optimised C or assembler.
It might just be possible if you can throw enough hardware at the problem such that you could pre-index every possible combination. Maybe.
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
|