Just when you thought it couldn't get any faster...
Here's a comparison of the revised roboticus version (with ikegami's speed suggestion):
source: horse:cow:dog:cat Rate ruzam roboticus roboticus2 ruzam 4695/s -- -80% -86% roboticus 23049/s 391% -- -33% roboticus2 34607/s 637% 50% -- source: horse Rate ruzam roboticus2 roboticus ruzam 64954/s -- -71% -76% roboticus2 223392/s 244% -- -16% roboticus 266354/s 310% 19% -- source: horse:cat Rate ruzam roboticus roboticus2 ruzam 26625/s -- -72% -76% roboticus 96711/s 263% -- -13% roboticus2 111706/s 320% 16% -- source: horse:cow:cat Rate ruzam roboticus roboticus2 ruzam 11023/s -- -77% -82% roboticus 46987/s 326% -- -24% roboticus2 62225/s 465% 32% -- source: horse:cow:dog:cat:mouse Rate ruzam roboticus roboticus2 ruzam 1913/s -- -82% -89% roboticus 10826/s 466% -- -39% roboticus2 17652/s 823% 63% -- source: horse:cow:dog:cat:rat:mouse Rate ruzam roboticus roboticus2 ruzam 798/s -- -85% -91% roboticus 5253/s 559% -- -43% roboticus2 9221/s 1056% 76% --

The new function is now an magnitude faster than my original attempt. That's no small change. Is this the limit of optimizing or can yet more juice be squeezed out of this function?

In reply to Re^4: possible combinations in sequence by ruzam
in thread possible combinations in sequence by ruzam

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.