diff --git a/readme.md b/readme.md --- a/readme.md +++ b/readme.md @@ -10,7 +10,7 @@ Can be run straight from the cloned repo ## Performance ## -As it is, the code is not very fast. Splitting takes _n_ evaluations of a polynomial of order _k_ over Galois field 256, leading to _O(n\*k)_ finite field multiplications. Reconstruction of the constant parameters during joining similarly takes _O(k\*k)_ multiplications. +As it is, the code is not very fast. Let's assume we have a secret of length _m_. For each byte, the splitting takes _n_ evaluations of a polynomial of order _k_ over Galois field 256, leading to _O(n\*k\*m)_ finite field multiplications. Reconstruction of the constant parameters during joining takes _O(k\*k + k\*m)_ multiplications. Benchmark results, all values mean _seconds per byte_ of the secret length:
2 / 3 (a Raspberry Pi 3) | -7.99e-05 | -0.000428 | +8.32e-05 | +0.000435 |
2 / 3 (a laptop) | -1e-05 | -6.7e-05 | +1.09e-05 | +7.17e-05 |
254 / 254 (a Raspberry Pi 3) | -0.417 | -0.471 | +0.414 | +0.0314 |
254 / 254 (a laptop) | -0.0431 | -0.0542 | +0.0435 | +0.00347 |