Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

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

by salva (Canon)
on Apr 18, 2005 at 09:36 UTC ( [id://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;

Replies are listed 'Best First'.
Re^2: Choosing the right sort (Or: WUDsamatter?)
by salva (Canon) 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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://448768]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (3)
As of 2024-03-29 06:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found