Compiler performance
We've benchmarked Sunscreen's compiler against existing FHE compilers (that support exact computation). We run a chi-squared test according to the criteria set out in this SoK paper on FHE compilers.
Time includes key generation + encryption + (homomorphic) computation + decryption.
Experiments were performed on an Intel Xeon @ 3.00 GHz with 8 cores and 16 GB RAM.
Compiler | Time (seconds) |
---|---|
Sunscreen | 0.072 |
Microsoft EVA | 0.328 |
Cingulata-BFV | 492.109 |
Cingulata-TFHE | 62.118 |
E3-BFV | 11.319 |
E3-TFHE | 1934.663 |
Concrete Numpy | N/A1 |
1
This compiler could not support the program. Concrete Numpy only allows for 256 unique values (e.g. can only represent integer values in the range [0, 255]).
Our compiler is built on SEAL's implementation of the BFV scheme. For reference, if coded directly in SEAL and optimized manually by an expert, the chi-squared test can run in 0.053 s.