Benchmarks

Linux 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) 6.044µs 5.461µs 6.673µs
2 GraalVM 7.552µs 6.783µs 8.537µs
3 C (Clang) 9.899µs 7.674µs 28.514µs
4 Go 18.483µs 14.216µs 20.659µs
5 C++ (G++) 26.587µs 23.795µs 29.386µs
6 Rust 54.410µs 45.206µs 77.567µs
7 Python 133.549µs 118.505µs 153.210µs
8 C++ (Clang++) 336.794µs 28.023µs 7,684.205µs
9 Kotlin (Native) 1,057.265µs 370.320µs 15,663.412µs
10 Java 2,573.620µs 45.036µs 63,098.074µs
11 Zig 4,186.186µs 551.554µs 40,574.013µs
12 JavaScript (Deno) 5,230.467µs 219.104µs 77,017.291µs
13 JavaScript (Node) 5,413.374µs 219.968µs 59,171.361µs
14 JavaScript (Bun) 8,516.508µs 844.750µs 61,586.677µs
15 PHP 10,241.117µs 496.690µs 63,710.867µs
16 Ruby 20,409.430µs 371.735µs 76,962.828µs
17 Kotlin (JVM) 58,066.777µs 1,793.212µs 113,709.374µs

Average Times

Median Times

Best-Case Scenario Times

Worst-Case Scenario Times