DATA-ORIENTED DESIGN The hardware will thank you.

If you wish to submit an article, please contact support@dataorienteddesign.com for details.


Lots of good resources linked from this site by Daniele Bartolini: Data Oriented Design Resources

Data-Oriented Design book - online version

Data-Oriented Design book (2013 beta version) - PDF download
This is a free resource. Feel free to read, copy, download, upload, print, burn to CD, hand to someone on a pen drive, but do not claim the work is your own, or charge anyone for the right to read the material.

Data-Oriented Design book - 2018 paperback version

FIRST PREV : PAGE 0 : NEXT LAST

Quick Sort 14/11/2011:17:54:34

According to Mike Acton of Insomniac Games, quick sort is not a concurrent algorithm.
http://macton.smugmug.com/gallery/9114809_C9awM#607513208_xqWYf

And yet many sorts are parallelisable, such as the bitonic sort:
http://www.tools-of-computing.com/tc/CS/Sorts/bitonic_sort.htm
the radix sort:
http://en.wikipedia.org/wiki/Radix_sort
and even the merge and quick sort.

The point of the article is not that they're not ready for parallel processing, but that they're not concurrent. The difference between concurrent and parallel is best exemplified in Mike's earlier post on insert/delete/search
http://macton.smugmug.com/gallery/8633200_uXoXw#569692846_a3LAv

Concurrency is about systems that work at the same time, not simply about large scale serial processes that can have their workload shared out onto parallel hardware for better performance.