[Python-Dev] Make str/bytes hash algorithm pluggable? (original) (raw)

Nick Coghlan ncoghlan at gmail.com
Thu Oct 3 23:13:35 CEST 2013


On 4 Oct 2013 06:08, "Victor Stinner" <victor.stinner at gmail.com> wrote:

2013/10/3 Christian Heimes <christian at python.org>: > A hash algorithm can be added and one avaible hash > algorithm can be set before PyInitialize() is called for the first > time. "PyInitialize" is not the good guard. Try for example "python3 -X faulthandler": PyObjectHash() is called before PyInitialize() to add "faulthandler" key into sys.xoptions dictionary. Today many Python internal functions are used before Python is initialized... See the PEP 432 which proposes to improve the situation: http://www.python.org/dev/peps/pep-0432/

That problem exists because our main function doesn't follow the C API usage rules, though. We require other embedding applications to be better behaved than that if they want support :)

That said, while I'm mostly in favour of the PEP, I think setting the algorithm should be a private API for 3.4.

I do agree that since the platform support for SipHash is slightly narrower, we need to keep the existing hash algorithm around, make it relatively easy to enable and ensure we continue to test it on the build bots.

I believe that last requirement for buildbot testing is the one that should drive the design of the private configuration API.

Cheers, Nick.

Victor


Python-Dev mailing list Python-Dev at python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/ncoghlan%40gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20131004/542ab409/attachment.html>



More information about the Python-Dev mailing list