Subject: Re: bug#7182: sort -R slow

From: "Alan Curry" <[email-masked]>
Date: Sat, 9 Oct 2010 14:21:00 -0500 (GMT+5)

Ole Tange writes:
> 
> I recently needed to randomize some lines. So I tried using 'sort -R'.
> I was astonished how slow that was. So I tested how slow a competing
> strategies are. GNU sort is two magnitudes slower than unsort and more
> than one magnitude slower than perl:

Never heard of "unsort". Why didn't you try shuf(1)?

Also, your perl is not valid:

> 
> $ time perl -e 'print sort { rand() <=> rand() } <>' file
> real    0m6.621s

That comparison function is not consistent (unless very lucky).

> I would expect sort -R to be faster than sort and faster than Perl if
> not as fast as unsort.

How big is your test file? I expect sort(1) to be optimized for big jobs. I
bet it would win the contest if you are shuffling a file that's bigger than
available RAM.