Your skill will accomplishwhat the force of many cannot PerlMonks

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

by tlm (Prior)
 on Apr 14, 2005 at 04:36 UTC ( #447643=note: print w/replies, xml ) Need Help??

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

Following up on a sharp observation of tye's in CB, I decided to check whether some of your sorts were in fact no-ops. Here's what I benchmarked, and the results:

srand 0; my @fixture = map 'foo' . int( rand 1000 ). '.tla', 1..5000; use Benchmark 'cmpthese'; cmpthese( -1, { naive => sub { ( naive( @fixture ) )[ 0 ] }, orcish => sub { ( orcish( @fixture ) )[ 0 ] }, schwartzian => sub { ( schwartzian( @fixture ) )[ 0 ] }, guttros => sub { ( guttros( @fixture ) )[ 0 ] }, } ); __END__ Rate naive orcish schwartzian guttros naive 3.05/s -- -65% -76% -87% orcish 8.74/s 186% -- -31% -61% schwartzian 12.7/s 317% 46% -- -44% guttros 22.6/s 642% 159% 78% --
Note that the subs that are benchmarked return the first element of the sorted array.

the lowliest monk

Replies are listed 'Best First'.
Re^2: Choosing the right sort (Or: WUDsamatter?)
by ikegami (Pope) on Apr 14, 2005 at 04:58 UTC

Just to clarify Pustular Postulant, the OP must have called the functions in a void or scalar context. sort is optimized to do nothing in that situation, so the functions naive and orcish return instantly. Read more for confirmation of Pustular Postulant's results and confirmation that running the sorts in scalar context give results similar to those of the OP.

That's why it's important to show one's work :)

Yes, that's what gave me the idea of asking for the first element of sorted array, though in hindsight there are definitely clearer, more direct ways to force a list context than the one I chose.

the lowliest monk

Create A New User
Node Status?
node history
Node Type: note [id://447643]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (7)
As of 2018-02-19 17:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
When it is dark outside I am happiest to see ...

Results (266 votes). Check out past polls.

Notices?