Same algorithm across Python, C++, Julia, and Haskell
AADC's AAD advantage becomes more pronounced with Greeks
| Implementation | Price Only | Price + Greeks | Greeks Overhead |
|---|---|---|---|
| AADC Python | 0.54s | 0.67s | +23% |
| AADC C++ v2.1.0 | 0.70s | 1.08s | +54% |
| Optimised C++ (Safe) | 0.27s | 1.44s | +433% |
| Julia | 3.9s | 15.5s | +297% |
| Haskell* | 162s | 646s | +299% |
*Haskell took significantly longer at this scale. All measurements at 10 trades × 100K scenarios.
All benchmarks executed on enterprise-grade server hardware
| CPU | 2x Intel Xeon Platinum 8280L @ 2.70GHz |
| Cores | 56 physical (28 per socket), 112 threads |
| Architecture | x86_64, Cascade Lake |
| L3 Cache | 77 MiB (38.5 MiB per socket) |
| RAM | 283 GB DDR4 |
| OS | Linux kernel 6.1.0-13-amd64 (Debian) |
| Model | Asian Option Monte Carlo |
| Dynamics | Geometric Brownian Motion (GBM) |
| Timesteps | 252 (daily over 1 year) |
| Greeks | Delta, Rho, Vega (3 sensitivities) |
| Threads | 8 (configurable) |
| SIMD | AVX2 (4 doubles/instruction) |
| GCC | 12.2.0 (Debian) |
| Clang | 14.0.6 (Debian) |
| Python | 3.11.2 |
| NumPy | 1.26.x |
| AADC | 2.0.0 |