Wild, Sebastian and Nebel, Markus E. and Reitzig, Raphael and Laube, Ulrich
Engineering Java 7’s Dual Pivot Quicksort Using MaLiJan
Meeting on Algorithm Engineering & Experiments (ALENEX), 2013

Recent results on Java 7’s dual pivot Quicksort have revealed its highly asymmetric nature. These insights suggest that asymmetric pivot choices are preferable to symmetric ones for this Quicksort variant. From a theoretical point of view, this should allow us to improve on the current implementation in Oracle’s Java 7 runtime library. In this paper, we use our new tool MaLiJAn to confirm this asymptotically for combinatorial cost measures such as the total number of executed instructions. However, the observed running times show converse behavior. With the support of data provided by MaLiJAn we are able to identify the profiling capabilities of Oracle’s just-in-time compiler to be responsible for this unexpected outcome.


Engineering Java 7’s Dual Pivot Quicksort Using MaLiJan - Raphael Reitzig