diff --git a/performance.md b/performance.md new file mode 100644 --- /dev/null +++ b/performance.md @@ -0,0 +1,27 @@ +# Performance comparison # +## The base case ## + +Let's assume we have a secret of length _m_. The splitting takes _n_ evaluations of a polynomial of order _k_ (over Galois field 256) for each byte, leading to _O(n\*k\*m)_ finite field multiplications. Reconstruction of the constant parameters during joining first precomputes parts of the Lagrange polynomial and then reuses them for each byte, taking _O(k\*k + k\*m)_ multiplications. + +Benchmark results. The times for split and join mean _seconds per byte_ of the secret length: +
Revision | +Features | +k / n parameters | +Split | +Join | +
---|---|---|---|---|
a47ae3e113cc | +- | +2 / 3 | +5.02e-06 | +4.12e-05 | +
254 / 254 | +0.0125 | +0.00175 | +