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.600µs 5.700µs 33.500µs
2 C (Clang) 8.408µs 7.800µs 9.500µs
3 GraalVM 8.560µs 7.600µs 10.100µs
4 C++ (Clang++) 34.040µs 29.800µs 98.200µs
5 D 42.912µs 37.800µs 52.400µs
6 C++ (G++) 43.944µs 38.400µs 72.400µs
7 Java 51.956µs 46.800µs 85.600µs
8 Rust 101.732µs 88.700µs 143.300µs
9 PHP 111.176µs 94.100µs 147.500µs
10 Go 127.220µs 0.000µs 1,619.900µs
11 Python 152.036µs 137.000µs 229.800µs
12 Ruby 153.936µs 121.000µs 213.700µs
13 JavaScript (Deno) 281.860µs 219.100µs 912.900µs
14 JavaScript (Node) 324.092µs 284.300µs 439.400µs
15 Zig 480.512µs 347.100µs 1,371.100µs
16 Kotlin (Native) 776.868µs 360.000µs 8,437.200µs
17 Kotlin (JVM) 2,630.648µs 2,092.800µs 5,205.700µs
18 JavaScript (Bun) 157,882.976µs 63,636.200µs 390,181.400µs

Average Times

Median Times

Best-Case Scenario Times

Worst-Case Scenario Times