Orasort: 5x faster column-sorting with an expired patent from Oracle
theanonymousone · 3 days ago
8 comments
theanonymousone · 3 days ago
8 comments
dafelst · 3 days ago
It's kind of insane that such an obvious optimization can be patented, I have to imagine that it has been invented independently dozens if not hundreds of times.
rasz · 2 days ago
that article sucks and doesnt describes real algorithm
I think this is inventors blog https://smalldatum.blogspot.com/2026/01/common-prefix-skippi...
artisin · 2 days ago
[+1] this was a good read
dafelst · 2 days ago
Oh this is much more novel (comparatively), that makes a lot more sense. Kind of an amalgamation of a bunch of optimizations.
Thanks for sharing.
beastman82 · 2 days ago
charcircuit · 2 days ago
>A CPU register is naturally 8 bytes in size
What does naturally even mean here. How is a 64 byte register's (zmm0) size any less natural?
RealityVoid · 2 days ago
Or a 7 byte register, if you really want to get freaky.
_3u10 · 2 days ago
What about 36 bit registers
jeffbee · 2 days ago
Nothing in this slop means anything particularly, but this detail is extra-wrong considering the variety of processors that the inventor says he used to create this algorithm.
orlp · 2 days ago
First, this article is mostly (AI?) regurgitation. This is much better: https://smalldatum.blogspot.com/2026/01/common-prefix-skippi....
Second, I have independently invented this (quicksort on string prefixes) at my time at CWI, although I didn't end up publishing it, because...
Third, this was already published in the original 1961 Quicksort paper by Hoare: https://www.cs.ox.ac.uk/files/6226/H2006%20-%20Historic%20Qu.... Near the end, the section on "Multi-word keys" describes a quicksort that partitions on just the first word, and only accesses the next word for the equality partition. And funnily enough this paper credits P. Shackleton for this, thus this idea was thought of even before the Quicksort paper came out.
So as is usual for software patents, this patent never should have been awarded.
hermitcrab · 2 days ago
A vague article.
With one sentence per line.
Most annoying.
Validark · 2 days ago
Thank you.
For wasting my time.
The only thing someone could learn from this is that CPU registers can be 8 bytes.
galkk · 2 days ago
Looks like an AI rewrite of something better.
ranger_danger · 2 days ago
> A CPU register is naturally 8 bytes in size, and if Oracle extracts 8 bytes from two strings for comparison, then the comparison requires fewer registers and fewer CPU cycles.
Isn't this just a typical SIMD optimization that tons of projects use?