poulpyFully homomorphic encryption
GitHub Get started
Menu

Benchmarks

Latency by scheme
and backend.

Compare measured performance across schemes, operations, and hardware backends. Inspect each configuration’s parameters, precision, and execution settings.

Fastest run2.29 sAVX-512 / IFMA / Rayon · 16 threads
Parameter setN = 216Restored levels: 16 at scale 2³⁵
Configurations074 backend families
Sampling20 runsAfter 3 warm-up bootstraps
CKKS bootstrapping · S2C-first

Latency by backend

Reproduce it ↗Lower is better ↓

AMD Ryzen 9 9950X · Median bootstrap latency

Preset n16_d35_k720_p19_s2cParameters
Ring dimension N
65,536 (2¹⁶)
Complex values per bootstrap
32,768 (2¹⁵)
Secret Hamming weights
Dense 1,024 · Sparse 32
Max. ciphertext modulus
1,382 bits
Max. modulus including keys
Dense 1,680 · Sparse 120 bits
01Reference1 thread
39.4 s
02AVX2 / FMA1 thread
13.3 s
03AVX-5121 thread
10.2 s
04AVX-512 / IFMA1 thread
5.52 s
05AVX2 / FMA / Rayon16 threads
3.26 s
06AVX-512 / Rayon16 threads
3.04 s
07AVX-512 / IFMA / Rayon16 threads
2.29 s
GPUIn development

Results pending

09.85 s19.7 s29.6 s39.4 s

Select a backend row to inspect its configuration and precision. Speedup is relative to the single-thread reference CPU for the same pipeline.

BackendTransformMedianSpreadSpeedupVersion

Reading the results

Compare the configuration, too.

Compare the same pipeline and preset, and account for the hardware and thread count. Each configuration has 20 measured iterations after three warm-ups. Timings include bootstrapping and return to application scale 2³⁵; setup, key generation, encryption and decryption are excluded.

Latency is the median; spread is median absolute deviation divided by median. Speedup compares each configuration with the single-thread reference CPU for the same pipeline. These results were measured with Poulpy 0.8.3.

The GPU backend is in development, and Binary FHE results are not yet available. Pending results are excluded from rankings and configuration counts.