[Python-Dev] Make str/bytes hash algorithm pluggable?

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 Py_Initialize() is called for the first
> > time.
>
> "Py_Initialize" is not the good guard. Try for example "python3 -X
> faulthandler": PyObject_Hash() is called before Py_Initialize() 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