Performance

Benchmarks

What has been measured, by whom, on which version and hardware, and where the detail is.

Measured by others

Four results that are not ours to edit.

  • Intel Developer article on AADC's DAG extraction and JIT compilation on Xeon processors, with Intel's own measurements.
  • ING, WBS 2023 Performance of AAD engines: scalability for Monte Carlo and higher-order sensitivities, presented by the bank.
  • Probability & Partners, WBS 2023 Expected shortfall sensitivities by AAD, computational cost measured independently.
  • XAD's own benchmark suite, run 2026-09-17 The ad-benchmarks repository published by XAD's developers, run unmodified: AADC fastest on all four problems, 2.0 to 3.1 times XAD's code generation and 3.6 to 8.9 times its tape.

The independent results, with the numbers

Measured by us

One line per result. Every row names the date, the AADC build and the hardware, and links to the page with the method and the raw numbers.

WhatResultWhen, build, hardwareDetail
ORE as a live risk service, FX book 1,000,000 FX trades priced in 0.4 s; NPV 245 times faster than stock ORE, more than 100 times with full delta risk. February 2025; AADC C++ on ORE/QuantLib; 350 s one-off recording Case study →
QuantLib, 10,000 OIS swaps 300 times faster, with no change to QuantLib's source. March 2025; AADC C++ on QuantLib Write-up →
XVA with 2,564 sensitivities, 100 interest rate swaps Original C++: 100 ms per 10,000 paths. AADC, price plus all 2,564 sensitivities: 2.0 ms. Adjoint factor 1.3 against the accelerated forward pass. AADC C++ SDK 1.x; 56 cores, AVX-512; code public Repository →
XVA sensitivities versus bump-and-revalue, 535 risk factors One forward and one reverse sweep per path against 536 full re-simulations; 1.3 times faster warm than cold, exact to machine precision. February 2026; aadc Python wheel; AVX2 CPU, 16 threads Benchmark page →
ISDA SIMM sensitivities and pre-trade margin AADC Python kernel: 0.06 to 1.5 ms per SIMM evaluation from 1,000 to 100,000 trades; 823 to 893 pre-trade marginal-IM queries per second at 10,000 trades. February 2025; aadc Python wheel; dual Xeon Platinum 8568Y+, compared on the same box against an NVIDIA H100 Benchmark page →
Asian option Monte Carlo in Python Same pricer, 10 trades, 100,000 scenarios, 252 steps, price plus Greeks: AADC Python 0.73 s; NumPy 13.0 s; plain Python 1,921 s. January 2026; AADC Python 1.x wheel (engine 1.7.6); Xeon Platinum 8280L, 8 threads for AADC, 1 for NumPy and plain Python Benchmark page →

Against other tools

Measured by us, on the same Asian option Monte Carlo pricer, in January 2026 on the AADC 1.x licensed build. Thread counts are stated per row on each page. Re-runs on the current release are scheduled; the XAD developers' suite above is the independent check.

  • C++ AAD libraries: CoDiPack, Adept, CppAD, autodiff, and hand-written bump-and-revalue Multi-threaded bump: 75ms (fastest); CoDiPack AAD: 581ms (best open-source); autodiff: 132s (134x slower - avoid) C++ comparison →
  • Python AD and ML frameworks: JAX, PyTorch, Autograd, XAD, Enzyme, NumPy Asian option Monte Carlo, 100 trades, 1,000 scenarios, 252 steps: AADC Python 127× faster than bump-and-revalue at one thread (348 ms) and 566× at 16 threads (78 ms), against JAX, PyTorch, Autograd, XAD, Enzyme and NumPy on the same pricer. Python comparison →

Want to Run Your Own Benchmarks?

We can benchmark AADC against your specific use cases and workloads