Engineering Java 7's Dual Pivot Quicksort Using MaLiJAn

Sebastian Wild, Markus E. Nebel, Raphael Reitzig, Ulrich Laube · Society for Industrial and Applied Mathematics eBooks · 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.

Read the paper · More papers on PaperTik