# 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. Measured on a mid-end laptop made in 2020. 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
c6815615a077 gfmul() caching 2 / 3 5.38e-06 4.28e-05
254 / 254 0.00741 0.00156
0957647049ef splitting with FFT 2 / 3 1.26e-05 -
254 / 254 0.00828 -
d5f60adc56c0 splitting with FFT,
caching gfmul(), gfpow(), precompute_x()
2 / 3 7.88e-06 -
254 / 254 0.00183 -