Benchmarks

Windows Benchmark: Merge Sort

Merge Sort is a sorting algorithm that divides-and-conquers by recursively dividing the array into two halves until each sub-array has only one element. This benchmark measures the time it takes to sort an array of 50 unsorted numbers. Implementation modified from GeeksForGeeks.

number algorithm

All-Time Rankings

Rank Language Average Time Best Time Worst Time
1 C (GCC) 7.120µs 5.600µs 29.000µs
2 C (Clang) 11.824µs 8.000µs 83.400µs
3 GraalVM 12.444µs 7.700µs 96.800µs
4 Go 40.040µs 0.000µs 1,001.000µs
5 Java 47.560µs 44.000µs 51.700µs
6 Rust 100.740µs 88.900µs 157.000µs
7 PHP 118.980µs 104.200µs 150.700µs
8 Python 134.524µs 114.300µs 158.200µs
9 Ruby 170.784µs 128.600µs 221.700µs
10 C++ (G++) 184.496µs 33.900µs 2,650.300µs
11 C++ (Clang++) 243.192µs 30.000µs 4,955.400µs
12 JavaScript (Deno) 320.184µs 213.900µs 1,106.700µs
13 JavaScript (Node) 353.480µs 282.300µs 437.100µs
14 Kotlin (Native) 829.348µs 386.500µs 5,336.300µs
15 Zig 862.000µs 373.300µs 7,672.900µs
16 Kotlin (JVM) 13,221.024µs 2,089.000µs 177,001.700µs
17 JavaScript (Bun) 237,136.668µs 69,242.500µs 802,291.700µs

Average Times

Median Times

Best-Case Scenario Times

Worst-Case Scenario Times