Due to their nature, homomorphic operations are obviously slower than their clear equivalent. In what follows, some timings are exposed for basic operations. For completeness, some benchmarks of other libraries are also given.
All the benchmarks had been launched on an AWS m6i.metal with the following specifications: Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz and 512GB of RAM.
This measures the execution time of a single binary boolean gate.
Parameter set | concrete-fft | concrete-fft + avx512 |
---|---|---|
Parameter set | fftw | spqlios-fma |
---|---|---|
Parameter set | GINX | GINX (Intel HEXL) |
---|---|---|
This measures the execution time for some operations and some parameter sets of shortint.
This uses the concrete-fft + avx512 configuration.
Parameter set | unchecked_add | unchecked_mul_lsb | keyswitch_programmable_bootstrap |
---|---|---|---|
DEFAULT_PARAMETERS
8.8ms
6.8ms
TFHE_LIB_PARAMETERS
13.6ms
10.9ms
default_128bit_gate_bootstrapping_parameters
28.9ms
15.7ms
STD_128
172ms
78ms
MEDIUM
113ms
50.2ms
PARAM_MESSAGE_1_CARRY_1
338 ns
8.3 ms
8.1 ms
PARAM_MESSAGE_2_CARRY_2
406 ns
18.4 ms
18.4 ms
PARAM_MESSAGE_3_CARRY_3
3.06 µs
134 ms
134 ms
PARAM_MESSAGE_4_CARRY_4
11.7 µs
854 ms
945 ms