Details
- Reviewers
pfg
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
No Lint Coverage - Unit
No Test Coverage
Event Timeline
This appears to be only a prototype. The code is not ready for public consumption yet. It will be worked through bugzilla first.
Updated version by ache@
Updating D1752: PR 135718 enhance qsort(3) to properly handle 32-bit aligned data on
64-bit systems
Here is some testing I did not long ago:
...
I updated the testing utility with 4096 23 bit datapoints of random data.
...
$ time ./test-heapsort
1..1
ok 1 - heapsort
27.83 real 27.61 user 0.00 sys
$ time ./test-mergesort
1..1
ok 1 - mergesort
27.02 real 26.83 user 0.00 sys
$ time ./test-qsort (old)
1..1
ok 1 - qsort
27.07 real 26.94 user 0.00 sys
...
$ time ./test-qsort (new)
1..1
ok 1 - qsort
26.94 real 26.81 user 0.00 sys
...
IMHO. the performance improvements are measurable, and even when they may not seem huge, they are significant enough to make qsort preferable over heapsort and mergesort (at least for my particular dataset).
I will commit the updated version sometime this week, before I forget about it ;).