🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #2108

Re: A very brief history of optimal sorting methods

#2108
From: Dan Bernstein
Date: Fri, 16 Nov 1990 04:50
103 lines
5005 bytes
In article <6082@lanl.gov> jlg@lanl.gov (Jim Giles) writes:
> From article <8420:Nov1522:11:2290@kramden.acf.nyu.edu>, by brnstnd@kramden.acf.nyu.edu (Dan Bernstein):
> > You are WRONG! You said ``uniformly.'' You are WRONG! You said ``all.''
> > You are WRONG! There is no escaping this fact. I rest my case.
> You can only rest your case if (as I said previously) the paper
> you cite _didn't_ explicitly mention that the time was quoted per
> _byte_ of the keys.

This is not a game where you can change the rules. You've been making a
series of incorrect statements, and no amount of squirming and
revisionist history will make your statements correct.

I am perfectly willing to accept your point that people assume that
``sorting is linear'' refers to linearity in the number of keys. So
such a statement would only be true if the key length is fixed, not in
the general case. That's why I make sure to say ``in the number of
bytes.''

  [ whimper about how the Holy Grail has expired ]

Just name the thread and I'll send you all my articles in that thread.

> However, what "we will all know" is what everyone
> remembers: you _did_ claim your sort was linear _without_ saying
> that you were using the non-standard measure of the number of bytes.

No, I did not. If I have ever said so it can only have been in a context
where the keys were fixed-length (sorting machine integers, perhaps).
Maybe you're remembering something like that?

> If anyone
> has a longer archive of this newsgroup that I do, they will catch
> you with it.

Go for it, folks! I'd love to see the results. Come on, everybody who
thinks that I've been making incorrect statements. Lots of sites have
two-week histories.

> > Jim, I'll bet you can't write a sort program even half as fast as the
> > standard UNIX version. I challenge you (again) to write a sort program
> > that will beat mine, under the restriction that you use an O(n log n)
> > sort---which, of course, you claim is faster than radix sort.
> Depends on the benchmark.  For the _overwhelming_ majority of sorting
> tasks, radix sort is _not_ optimal.

See, you keep claiming this. I'll even let you pick a set of three
sorting benchmarks that an impartial judge accepts as realistic. I'm
still waiting for your response to my challenge.

> >   [ Knuth's chapter on sorting ]
> > He dismissed MSD radix sort as too much housekeeping to be worthwhile.
> > Furthermore, there are optimizations to MSD radix sort that he did not
> > consider. I have brought up ``adaptive distribution sort'' in a letter
> > to him.
> And, since he is somewhat more intelligent than I am, I suspect he
> completely ignored you (as I should have done).

He is a busy man, and has many letters to respond to. However, as he
owes me about $30, I expect he will write back soon.

> >> Just QUIT making insulting
> >> remarks about others when those _same_ remarks apply more appropriately
> >> to _you_.
> > Hasn't happened yet in my conversations with you.
> 1.) UNIX does asynchronous I/O automatically on output.

It does. The meaning of asynchronous is ``not synchronous.'' There is
only one synchronous I/O (you tell the disk to run, wait for it to
complete, and then continue); there are lots of degrees of being not
synchronous. UNIX does asynchronous I/O on output.

I agree that buffering does not make I/O as asynchronous as it could be;
I thank you for helping me understand that the extra copy time is a real
burden on Crays, and hence should be eliminated if possible.

> 2.) UNIX has a reconnect capability (to jobs started by another tty session).

It does. See my pty program. UNIX has a reconnect capability.

> N-1.) The _compiler_ can detect all interprocedural aliasing.

I never said any such thing. I said that the compiler can detect a
particular type of interprocedural aliasing, which should suffice for
all the real-world problems you care about.

> VERY_LARGE_N.) Fortran doesn't have independent compilation.

I never said any such thing. I said that Fortran doesn't have
independent compilation *as in C*. I am sick of how you ignore these
qualifiers, from ``packed'' on up.

> Practically _every_ discussion I've _had_ with you, you've been wrong.

Practically every discussion I've had with you, you've been wrong.

> Further, you've _never_once_ admitted to being wrong.

Further, you simply cut off communication because it hurts your pride to
admit your mistakes.

When I make a mistake, I admit it.

---Dan
Technical Details
Message-ID: <13722:Nov1604:50:2990@kramden.acf.nyu.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!yale!cmcl2!kramden.acf.nyu.edu!brnstnd
References: <8420:Nov1522:11:2290@kramden.acf.nyu.edu> <6082@lanl.gov>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!yale!cmcl2!kramden.acf.nyu.edu!brnstnd
From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein)
Newsgroups: comp.lang.misc
Subject: Re: A very brief history of optimal sorting methods
Message-ID: <13722:Nov1604:50:2990@kramden.acf.nyu.edu>
Date: 16 Nov 90 04:50:29 GMT
References: <8420:Nov1522:11:2290@kramden.acf.nyu.edu> <6082@lanl.gov>
Organization: IR
Lines: 103