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

Re: Natural sorting

by pKai (Priest)
on Dec 15, 2007 at 09:10 UTC ( #657175=note: print w/replies, xml ) Need Help??

in reply to Natural sorting

Did you concider using one of salva's Sort::Key::* modules, maybe Sort::Key::Natural? I'd expect that to show superior performance.

Replies are listed 'Best First'.
Re^2: Natural sorting
by thundergnat (Deacon) on Dec 15, 2007 at 16:45 UTC

    Good point. Being an XS module I would expect it to have good performance, though for some reason it won't build on my system so I haven't been able to test it.

      I would appreciate if you could send my a bug report stating the cause of the build error (the output from make will do), your perl version, OS and processor (or perl -V output).

      oh, and BTW...

      use Sort::Key qw(keysort); sub mkkey { my $key = deaccent $_; $key =~ s/(?<=\d)\Q$separator\E(?>=\d)//g; $key =~ s{0*(\d+)}{ my $len = length $1; "\x00" . ('9' x ($len / 9)) . ($len % 9) . $1 }eg; $key; } ... cmpthese( -30, { #'alphanum' => sub { @temp = sort { alphanum( $a, $b ) +} @array; }, #'Sort::Naturally' => sub { @temp = nsort(@array) }, 'natural_sort' => sub { @temp = natural_sort(@array) }, 'Sort::Key' => sub { @temp = keysort \&mkkey, @array }, } );
      78848 items in array... s/iter natural_sort Sort::Key natural_sort 3.51 -- -31% Sort::Key 2.41 46% --

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://657175]
[Corion]: Whee! Germanys Grand Central Airport (for Berlin, re-scheduled for the thrid or fourth time, to open now in 2018) has just fired their technical lead
[ambrus]: Corion: Is their budget estimate four times the initial estimate yet? Was the construction late by six months already three months after they started?
[marto]: I'll believe it when I see it. That's been due for many years now :P
[marto]: oddly the last time I was there I saw a zeppelin in flight for the first time
[Corion]: ambrus: I don't know how far the budget estimate has been overrun yet
[Corion]: marto: Heh ;) No, you were likely at Tegel or Schönefeld, the new one ("BER") will be somewhat outside of Berlin ;)
[marto]: Corion Schoenfeld, but my friend has been telling me about this new airport for about 7-8 years now :P

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (10)
As of 2017-02-23 11:56 GMT
Find Nodes?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?

    Results (346 votes). Check out past polls.