Hello,
I saw that some performance work has been done in the 1.6.0.0 release so I conducted my own benchmarks using the python interface.
According to my benchmark, the 1.6.0.0 actually brought a reproducible performance regression.
Here are my results (on a moderately modern Intel(R) Core(TM) i5-8500 CPU @ 3.00GHz CPU):
| Test 20 Mio Binaries |
Old Zfec (1.5.7.4) |
New Zfec (1.6.0.0) |
| Sequential k=10 m=30 |
86.83 Mio/s |
59.56 Mio/s |
| Parallel (Threadpool with 16 workers) k=10 m=30 |
377.74 Mio/s |
285.68 Mio/s |
| Parallel (Processpool with 16 workers) k=10 m=30 |
122.19 Mio/s |
113.54 Mio/s |
I can reproduce these issues between runs and on a variety of laptop, desktop and server x86 CPUs. My tests were conducted under ubuntu 20.04 and ubuntu 22.04 with python 3.10 and python 3.12.
I have not tested the release commit by commit so I cannot pinpoint the issue. However, the closest change seems to be #114.
This MR claims to have doubled the compute speed of zfec, do you have more information about how these tests were conducted and how we could explain these discrepancies ?
Best regards,
Hello,
I saw that some performance work has been done in the 1.6.0.0 release so I conducted my own benchmarks using the python interface.
According to my benchmark, the 1.6.0.0 actually brought a reproducible performance regression.
Here are my results (on a moderately modern Intel(R) Core(TM) i5-8500 CPU @ 3.00GHz CPU):
I can reproduce these issues between runs and on a variety of laptop, desktop and server x86 CPUs. My tests were conducted under ubuntu 20.04 and ubuntu 22.04 with python 3.10 and python 3.12.
I have not tested the release commit by commit so I cannot pinpoint the issue. However, the closest change seems to be #114.
This MR claims to have doubled the compute speed of zfec, do you have more information about how these tests were conducted and how we could explain these discrepancies ?
Best regards,