Files
lux/benchmarks/nbody.c
Brandon Lucas 42fef80a47 feat: add comprehensive benchmark suite with multi-language comparison
Add benchmarks comparing Lux against 7 languages:
- Rust, C, Go (compiled)
- Node.js, Bun (JavaScript JIT)
- Python (interpreted)

Benchmarks:
- Fibonacci (fib 35): recursive function calls
- Prime counting (10k): loops and conditionals
- Sum loop (10M): tight numeric loops
- Ackermann (3,10): deep recursion
- Selection sort (1k): sorting algorithm
- List operations (10k): map/filter/fold with closures

Results show Lux:
- Matches C and Rust performance
- 2-5x faster than Go
- 7-15x faster than Node.js
- 10-285x faster than Python

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-14 16:17:06 -05:00

32 lines
674 B
C

// N-Body simulation benchmark - floating point compute
#include <stdio.h>
#include <math.h>
double simulate(int steps) {
double x = 0.0, y = 100.0;
double vx = 0.0, vy = 6.28;
double dt = 0.01;
for (int i = 0; i < steps; i++) {
double r2 = x * x + y * y;
double r = sqrt(r2);
double f = 1000.0 / r2;
double ax = -f * x / r;
double ay = -f * y / r;
vx += ax * dt;
vy += ay * dt;
x += vx * dt;
y += vy * dt;
}
return sqrt(x * x + y * y);
}
int main() {
double finalDistance = simulate(100000);
printf("Final orbital distance: %f\n", finalDistance);
return 0;
}