Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: Choosing the right sort (Or: WUDsamatter?)

by salva (Monsignor)
on Apr 18, 2005 at 09:36 UTC ( #448768=note: print w/ replies, xml ) Need Help??


in reply to Choosing the right sort (Or: WUDsamatter?)

you should try Sort::Key:

use Sort::Key; @sorted=ikeysort { /foo(\d+)\.tla/; $1 } @data;


Comment on Re: Choosing the right sort (Or: WUDsamatter?)
Download Code
Re^2: Choosing the right sort (Or: WUDsamatter?)
by salva (Monsignor) on Apr 19, 2005 at 09:28 UTC
    I have added an entry for Sort::Key to Pustular Postulant benchmarks
    use Sort::Key; sub mykeysort { ikeysort { /foo(\d+)\.tla/; $1 } @_ }
    and those are the results for 200 elements:
    Rate naive schwartzian guttros Sort::Key naive 17.9/s -- -73% -79% -83% schwartzian 67.1/s 276% -- -20% -36% guttros 84.0/s 371% 25% -- -19% Sort::Key 104/s 483% 55% 24% --

    for 5000 elements:

    Rate naive schwartzian guttros Sort::Key naive 0.413/s -- -77% -86% -89% schwartzian 1.79/s 334% -- -38% -52% guttros 2.88/s 597% 61% -- -23% Sort::Key 3.74/s 805% 109% 30% --

    for 50000 elements

    s/iter naive schwartzian guttros Sort::Key naive 30.2 -- -78% -87% -90% schwartzian 6.53 363% -- -42% -56% guttros 3.81 693% 72% -- -24% Sort::Key 2.90 942% 125% 31% --

    and for 500000 elements

    s/iter guttros Sort::Key guttros 39.6 -- -25% Sort::Key 29.7 33% --

    so Sort::Key is consistently ~30% faster than guttros ;-)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://448768]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (7)
As of 2014-09-18 22:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (125 votes), past polls