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: @@ -21,23 +21,23 @@ Benchmark results, all values mean _seco - - + + - - + + - - + + - - + +
2 / 3 (a Raspberry Pi 3)7.99e-050.0004288.32e-050.000435
2 / 3 (a laptop)1e-056.7e-051.09e-057.17e-05
254 / 254 (a Raspberry Pi 3)0.4170.4710.4140.0314
254 / 254 (a laptop)0.04310.05420.04350.00347