Download:
|
by Anthony Lamarca, Richard E. Ladner
ftp://ftp.cs.washington.edu/tr/1996/10/UW-CSE-96-10-01.PS.Z
Add To MetaCart
Abstract:
We investigate the effect that caches have on the performance of sorting algorithms both experimentally and analytically. To address the performance problems that high cache miss penalties introduce we restructure heapsort, mergesort and quicksort in order to improve their cache locality. For all three algorithms the improvement in cache performance leads to a reduction in total execution time. We also investigate the performance of radix sort. Despite the extremely low instruction count incurred by this linear sorting algorithm, its relatively poor cache performance results in worse overall performance than the efficient comparison based sorting algorithms.
Citations
|
3148
|
Computer architecture: a quantitative approach
– Hennessy, Patterson
- 1990
|
|
852
|
An introduction to probability theory and its applications
– Feller
- 1950
|
|
664
|
ATOM: A system for building customized program analysis tools
– Srivastava, Eustace
- 1994
|
|
174
|
A comparison of sorting algorithms for the connection machine CM-2
– Blelloch, Leiserson, et al.
- 1991
|
|
173
|
More iteration space tiling
– Wolfe
- 1989
|
|
160
|
Operating Systems Theory
– Coffman, Denning
- 1973
|
|
138
|
Cache profiling and the SPEC benchmarks: A case study
– Lebeck, Wood
- 1994
|
|
68
|
The analysis of Quicksort programs
– Sedgewick
- 1977
|
|
65
|
The influence of caches on the performance of heaps
– LaMarca, Ladner
- 1996
|
|
62
|
A RISC Machine Sort
– Nyberg, Barclay, et al.
- 1994
|
|
51
|
Cache Performance in the VAX 1 1/780
– Clark
- 1983
|
|
51
|
The Art of Computer Programming, Vol. III, Sorting and Searching, Third Edition
– Knuth
- 1998
|
|
36
|
Parallel sorting by overpartitioning
– Li, Sevick
- 1994
|
|
22
|
The AlphaServer 8000 series: High-end server platform development
– Fenwick, Foley, et al.
- 1995
|
|
22
|
Heaps on heaps
– Gonnet, Munro
- 1986
|
|
18
|
Performance analysis of cache memories
– Rao
- 1978
|
|
16
|
Priority queues with update and finding minimum spanning trees
– Johnson
- 1975
|
|
16
|
Caches and Algorithms
– LaMarca
- 1996
|
|
11
|
An optimal algorithm for deleting the root of a heap
– Carlsson
- 1991
|
|
8
|
The TLB sliceāA low-cost high-speed address translation mechanism
– TAYLOR, DAVIES, et al.
- 1990
|
|
5
|
Treesort 3
– Floyd
- 1964
|
|
4
|
Expected heights in heaps
– Graffe, Kosters
- 1992
|