log-log x-axis: size of problem, y-axis: time in milliseconds
For small n, there is more noise than signal in the timings.
Java's sort [quick sort w/ frosting and sprinkles] (blue), merge sort (green), merge sort defaulting to insertion sort for n<=8 (red)


Java's sort [quick sort w/ frosting and sprinkles] (blue), merge sort (green), insertion sort (red)


Holding the problem size constant (around a million elements), altering the value for when merge sort reverts to insertion sort. Java's sort (blue), vanilla merge sort (green), merge sort w/ insertion sort (red). Surprisingly, the insertion sort performs very well for values below 100. (Looks like some initial memory allocation that is reused in subsequent calls causes the spike for the first entry.)