by vagrant · Mar 31 14:00 2026
Replace naive double recursion with tail-call style single recursion
Delta+99.90%
Metricduration (ms)
Criterialower_is_better
LOC+6 -1
Kept Discarded Running best
Measurements
| Metric | Baseline | Candidate | Delta |
|---|
| duration (ms)How long the code takes to run. Less is better. | 10.150 ms (n=5) | 0.010 ms (n=5) | +99.90% |
| ops_per_sec (ops/sec)Operations completed per second. More is better. | 98.550 ops/sec | 69974.110 ops/sec | +70903.66% |
| p95 (ms)Measures p95 in ms. Less is better. | 95.000 ms | 95.000 ms | -0.00% |
Diff
31 if (n <= 0) return 0;
32 if (n === 1) return 1;
33
34- return fibonacci(n - 1) + fibonacci(n - 2);
34+ return fibHelper(n, 0, 1);
35+}
36+
37+function fibHelper(n: number, a: number, b: number): number {
38+ if (n === 0) return a;
39+ return fibHelper(n - 1, b, a + b);
40 }
Environment
| Base commit | 11f9e7c10f98df5a6beb7de3069279cd49cd4e11 |
| Candidate commit | e7373fe50bae8cef5380f65ec1e05c9ca6820c8a |
| Build | true |
| Tests | true |
| Metric ID | bbf2b1a |
| Arch | aarch64 |
| OS | Linux 6.8.0-86-generic |
| CPU | - |
| Agent | claude-code / claude-opus-4-6 |
| Files | src/index.ts |