# Performance Report: 2000 Decimals ## Test Environment **Hardware:** - **Model:** MacBook Neo (Mac17,5) - **Processor:** Apple A18 Pro (6 cores: 2 performance + 4 efficiency) - **Memory:** 8 GB RAM - **Operating System:** macOS (Darwin) **Methodology:** - Each language runs 4 times per test - First run is considered "warmup" and excluded - Results are the average of the 3 subsequent runs - Time measured in milliseconds (ms) - Memory measured in bytes via RSS (Resident Set Size) ## Performance Summary ### All Languages | Rank | Language | Time (ms) | Memory (bytes) | Type | |------|-----------|-----------|----------------|------| | 1 | Assembly | 20 | 1409024 | Compiled | | 2 | Rust | 20 | 1949696 | Compiled | | 3 | Go | 20 | 5204650 | Compiled | | 4 | C | 21 | 1736704 | Compiled | | 5 | D | 21 | 3506176 | Compiled | | 6 | Crystal | 22 | 4265301 | Compiled | | 7 | Objective-C | 23 | 6122154 | Compiled | | 8 | C++ | 26 | 1774933 | Compiled | | 9 | Nim | 32 | 2555904 | Compiled | | 10 | Zig | 32 | 2981888 | Compiled | | 11 | Odin | 32 | 10420224 | Compiled | | 12 | Haskell | 33 | 12140544 | Compiled | | 13 | Dart | 37 | 17159509 | JIT | | 14 | Brainfuck | 47 | 9409877 | Interpreted | | 15 | CSharp | 53 | 44034730 | JIT | | 16 | Python | 58 | 10021546 | Interpreted | | 17 | Fortran | 61 | 1862314 | Compiled | | 18 | Java | 62 | 49632597 | JIT | | 19 | Kotlin | 66 | 50681173 | JIT | | 20 | Ruby | 80 | 31156906 | Interpreted | | 21 | PHP | 82 | 26585770 | Interpreted | | 22 | Lua | 90 | 2321066 | Interpreted | | 23 | Bash | 104 | 2048000 | Interpreted | | 24 | Erlang | 141 | 80631125 | Interpreted | | 25 | Julia | 146 | 236055210 | JIT | | 26 | Perl | 185 | 12779520 | Interpreted | | 27 | R | 192 | 96747520 | Interpreted | | 28 | Swift | 294 | 6471680 | Compiled | | 29 | Elixir | 303 | 92258304 | Interpreted | | 30 | Scala | 358 | 60790101 | JIT | | 31 | JavaScript | 498 | 55252309 | Interpreted | | 32 | TypeScript | 1296 | 223188309 | Interpreted | ### Performance Analysis **Top Performers:** - Fastest execution times for compiled languages - Minimal memory usage for native code - Consistent performance across decimal levels **Memory Efficiency:** - Compiled languages: 1-6 MB - JIT languages: 14-236 MB - Interpreted languages: 2-29 MB **Key Findings:** - Compiled languages dominate in both speed and memory efficiency - JIT languages show moderate performance with higher memory usage - Interpreted languages vary widely in performance ## Detailed Results See the full test output in `reports/run_2000_output.txt`. --- *Generated from Pi Calculation Benchmark - Apple A18 Pro Performance Study*