On Tue, 8 Feb 2022 00:39:12 -0800 "Gregory P. Smith" <g...@krypto.org> wrote: > What does pyperformance say about --enable-optimizations builds with all of > those compiled out vs today? > > I like the runtime safety checking for purposes of making the lives of > Python C API users easier. But without the use of assertion enabled CPython > builds being the norm during development (we should try to shift that norm > in the community and make it the popular CI system default regardless), I'm > concerned this would hurt the developers who need it most. > > Having some idea of what it actually gains us performance wise would be > useful.
Exactly my sentiment. I'm also skeptical about the performance argument in this case, but willing to be shown wrong :-) Regards Antoine. > > -gps > > On Mon, Feb 7, 2022 at 3:30 PM Brett Cannon <br...@python.org> wrote: > > > > > > > On Mon, Feb 7, 2022 at 8:59 AM Victor Stinner <vstin...@python.org> wrote: > > > >> On Mon, Feb 7, 2022 at 5:48 PM Guido van Rossum <gu...@python.org> wrote: > >> > So you're proposing to completely get rid of those three? > >> > >> I don't propose to remove them, but only call them if Python is built > >> in debug mode. Or remove them from the release build, unless > >> ./configure --with-assertions is used. > >> > >> > >> > And you're sure that each and every single call to any of those is > >> better off being an assert()? > >> > >> For many years, many C extensions raised an exception *and* returned a > >> result: that's a bug. The strange part is that in some cases, the > >> exceptions is somehow ignored and the program continues running fine. > >> > >> That's why I added _Py_CheckFunctionResult() and _Py_CheckSlotResult() > >> which helped to catch such bugs. But before that, these programs were > >> running fine :-) > >> > >> So it's not fully clear to me there was really a bug or it's just that > >> Python became more pedantic :-) > >> > >> > >> About PyErr_BadInternalCall(): in 10 years, I saw a few SystemError > >> raised by this function, but usually when I hacked on Python. It's > >> really rare to hit such bug. > >> > >> > >> > (I still haven't gotten into the habit of building in debug mode by > >> default, in part because it *isn't* the default when you invoke ./configure > >> or PCbuild/build.bat.) > >> > >> If you don't develop C extensions, the release mode is faster and enough > >> ;-) > >> > >> Ah. I don't know if CIs like GitHub Actions and Azure Pipelines > >> provide Python debug builds. If if it's not the case, it would be nice > >> to have the choice :-) > >> > > > > They do not: > > https://github.com/actions/python-versions/blob/797eb71c41e47d194f563c7ef01790d734534788/builders/ubuntu-python-builder.psm1#L35-L38 > > . > > _______________________________________________ > > Python-Dev mailing list -- python-dev@python.org > > To unsubscribe send an email to python-dev-le...@python.org > > https://mail.python.org/mailman3/lists/python-dev.python.org/ > > Message archived at > > https://mail.python.org/archives/list/python-dev@python.org/message/VRISRYZVU47PQRWKHN77CV5545SKUI5O/ > > Code of Conduct: http://python.org/psf/codeofconduct/ > > > _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/X53ORDVNOTYRLFQ6QNR3NCXCL4AO7ISC/ Code of Conduct: http://python.org/psf/codeofconduct/