Splitsort—an adaptive sorting algorithm
Information Processing Letters
Alternative implementations of two-level adaptive branch prediction
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
A survey of adaptive sorting algorithms
ACM Computing Surveys (CSUR)
Computer architecture (2nd ed.): a quantitative approach
Computer architecture (2nd ed.): a quantitative approach
Worst Case Execution Time Analysis for a Processor withBranch Prediction
Real-Time Systems - Special issue on worst-case execution-time analysis
Communications of the ACM
Introduction to Algorithms
ICCI '91 Proceedings of the International Conference on Computing and Information: Advances in Computing and Information
A new representation for linear lists
STOC '77 Proceedings of the ninth annual ACM symposium on Theory of computing
Modeling control speculation for timing analysis
Real-Time Systems
Cache-aware and cache-oblivious adaptive sorting
ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
ESA'06 Proceedings of the 14th conference on Annual European Symposium - Volume 14
How branch mispredictions affect quicksort
ESA'06 Proceedings of the 14th conference on Annual European Symposium - Volume 14
An experimental study of sorting and branch prediction
Journal of Experimental Algorithmics (JEA)
On the adaptiveness of Quicksort
Journal of Experimental Algorithmics (JEA)
Branch mispredictions don't affect mergesort
SEA'12 Proceedings of the 11th international conference on Experimental Algorithms
Lean programs, branch mispredictions, and sorting
FUN'12 Proceedings of the 6th international conference on Fun with Algorithms
Hi-index | 0.00 |
Branch mispredictions is an important factor affecting the running time in practice. In this paper we consider tradeoffs between the number of branch mispredictions and the number of comparisons for sorting algorithms in the comparison model. We prove that a sorting algorithm using O(dn log n) comparisons performs Ω(n logdn) branch mispredictions. We show that Multiway MergeSort achieves this tradeoff by adopting a multiway merger with a low number of branch mispredictions. For adaptive sorting algorithms we similarly obtain that an algorithm performing O(dn(1 + log(1 + Inv/n))) comparisons must perform Ω(n logd(1 + Inv/n)) branch mispredictions, where Inv is the number of inversions in the input. This tradeoff can be achieved by GenericSort by Estivill-Castro and Wood by adopting a multiway division protocol and a multiway merging algorithm with a low number of branch mispredictions.