Gustavo Serra Scalet added the comment: > Christian Heimes added the comment: > > This small change also changes behavior of OpenSSL dramatically. What > are your Python and OpenSSL versions?
I tested by compiling my own python3 (8aaf499) against its parent (d6d344d) For python2, I made the same by compiling the 2.7.13 as a baseline and results were consistent with the python I have on Ubuntu 17.10 (3.5.3 and 2.7.13). > How did you profile the > performance of the hashing functions? I compared the timings between my patched vs patchless python versions by using a 630MB file to calculate sha256 as: perf stat -r 10 Python-2.7.13/python -c "import hashlib; print(hashlib.sha256(open('ubuntu-16.10-server-ppc64el.iso','rb').read()).hexdigest())" The speedup of ~50% is given due to patchless taking 3.082156387s and patched taking 2.027484800s (errors are less than 1%) I also noticed what changed on a code level by checking with gdb what is being executed on the sha loop. After my patch I see altivec (SIMD) functions being used on SHA main loop. > If OpenSSL_config() really improves performance on relevant platforms, > then we should be consistent and call it in _ssl.c, too. I'll check that then. Thanks for the hint. Ps: please note this behavior is noticed on a POWER8 machine. I'm not an OpenSSL expert so I don't know if there are now more optimizations enabled on other architectures as well. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue30102> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com