Bruno Haible wrote:
Oops, I goofed with "git diff". Here's the correct patch to test.
I tried those bench-md5 benchmarks on two platforms, with somewhat more disappointing results.
I observed a real-time slowdown ranging from 11% (large buffers) to 22x (small buffers) on Intel Xeon E3-1225 V2 (circa 2012 CPU), Ubuntu 16.04, Linux 4.4.0, glibc 2.23. See attached file ubuntu1604.txt.
I observed a real-time slowdown ranging from 8% (large buffers) to 43x (small buffers) on AMD Phenom II X4 910e (circa 2010 CPU), Fedora 28, Linux 4.16.5, glibc 2.27. See attached file fedora28.txt.
These numbers compare somewhat unfavorably with your report, where the real-time slowdown ranged from 1.5% (large buffers) to 25x (small buffers), as reported in <https://lists.gnu.org/r/bug-gnulib/2018-05/msg00035.html>.
$ without/gltests/bench-md5 100 1000000 real 0.297496 user 0.296 sys 0.000 $ with/gltests/bench-md5 100 1000000 real 6.663610 user 0.788 sys 5.864 $ without/gltests/bench-md5 1000 100000 real 0.232803 user 0.232 sys 0.000 $ with/gltests/bench-md5 1000 100000 real 0.850873 user 0.044 sys 0.804 $ without/gltests/bench-md5 10000 10000 real 0.221752 user 0.220 sys 0.000 $ with/gltests/bench-md5 10000 10000 real 0.297422 user 0.012 sys 0.280 $ without/gltests/bench-md5 100000 1000 real 0.222606 user 0.224 sys 0.000 $ with/gltests/bench-md5 100000 1000 real 0.206339 user 0.000 sys 0.204 $ without/gltests/bench-md5 100000 1000 real 0.155099 user 0.152 sys 0.000 $ with/gltests/bench-md5 100000 1000 real 0.253739 user 0.000 sys 0.252 $ without/gltests/bench-md5 1000000 100 real 0.217826 user 0.216 sys 0.000 $ with/gltests/bench-md5 1000000 100 real 0.241895 user 0.000 sys 0.240
$ without/gltests/bench-md5 100 1000000 real 0.313263 user 0.312 sys 0.000 $ with/gltests/bench-md5 100 1000000 real 13.368888 user 0.386 sys 12.466 $ without/gltests/bench-md5 1000 100000 real 0.224399 user 0.224 sys 0.000 $ with/gltests/bench-md5 1000 100000 real 1.561579 user 0.059 sys 1.451 $ without/gltests/bench-md5 10000 10000 real 0.212909 user 0.212 sys 0.000 $ with/gltests/bench-md5 10000 10000 real 0.357755 user 0.006 sys 0.346 $ without/gltests/bench-md5 100000 1000 real 0.209962 user 0.209 sys 0.000 $ with/gltests/bench-md5 100000 1000 real 0.237659 user 0.000 sys 0.234 $ without/gltests/bench-md5 100000 1000 real 0.210324 user 0.210 sys 0.000 $ with/gltests/bench-md5 100000 1000 real 0.237529 user 0.004 sys 0.230 $ without/gltests/bench-md5 1000000 100 real 0.208286 user 0.208 sys 0.000 $ with/gltests/bench-md5 1000000 100 real 0.225337 user 0.000 sys 0.222