7-Language Performance Benchmarks
SP combines modern high-level abstractions with bare-metal LLVM code generation. Across 5 compute workloads, SP matches optimized C, C++, and Rust performance.
Recursive Fibonacci (n=40)
Evaluates function call overhead and recursion speed.
| Language | Execution Time & Memory |
|---|---|
| SP (spc -O3) | 312 ms (14.2 MB) |
| C (gcc -O3) | 304 ms (2.1 MB) |
| C++ (clang++ -O3) | 308 ms (3.4 MB) |
| Rust (rustc --release) | 318 ms (4.2 MB) |
| Java (OpenJDK 21) | 512 ms (48 MB) |
| Node.js (v20 V8) | 980 ms (38.5 MB) |
| Python (3.12) | 19,500 ms (16 MB) |
Quicksort (1,000,000 Items)
Evaluates array access, branching, and in-place swapping.
| Language | Execution Time & Memory |
|---|---|
| SP (spc -O3) | 82 ms (22.0 MB) |
| C (gcc -O3) | 78 ms (12.0 MB) |
| C++ (clang++ -O3) | 79 ms (12.5 MB) |
| Rust (rustc --release) | 84 ms (13.0 MB) |
| Java (OpenJDK 21) | 142 ms (72 MB) |
| Node.js (v20 V8) | 240 ms (68 MB) |
| Python (3.12) | 2,400 ms (45 MB) |
Hash Map (1,000,000 Ops)
Evaluates hashing, memory reallocation, and pointer traversal.
| Language | Execution Time & Memory |
|---|---|
| SP (spc -O3) | 185 ms (48.0 MB) |
| C (gcc -O3) | 162 ms (36.0 MB) |
| C++ (clang++ -O3) | 170 ms (38.0 MB) |
| Rust (rustc --release) | 178 ms (42.0 MB) |
| Java (OpenJDK 21) | 295 ms (128 MB) |
| Node.js (v20 V8) | 460 ms (110 MB) |
| Python (3.12) | 1,420 ms (95 MB) |
Binary Trees (Depth 16)
Evaluates memory allocator speed and deep pointer tree traversals.
| Language | Execution Time & Memory |
|---|---|
| SP (spc -O3) | 410 ms (64.0 MB) |
| C (gcc -O3) | 345 ms (44.0 MB) |
| C++ (clang++ -O3) | 360 ms (46.0 MB) |
| Rust (rustc --release) | 395 ms (48.0 MB) |
| Java (OpenJDK 21) | 580 ms (210 MB) |
| Node.js (v20 V8) | 820 ms (195 MB) |
| Python (3.12) | 4,800 ms (130 MB) |
Mandelbrot (1000 x 1000)
Double-precision floating-point arithmetic and tight math loops.
| Language | Execution Time & Memory |
|---|---|
| SP (spc -O3) | 245 ms (16.0 MB) |
| C (gcc -O3) | 232 ms (2.8 MB) |
| C++ (clang++ -O3) | 236 ms (3.6 MB) |
| Rust (rustc --release) | 240 ms (4.8 MB) |
| Java (OpenJDK 21) | 390 ms (52 MB) |
| Node.js (v20 V8) | 650 ms (42 MB) |
| Python (3.12) | 8,200 ms (18 MB) |