[issue30156] PYTHONDUMPREFS segfaults on exit

STINNER Victor report at bugs.python.org
Mon Sep 24 11:52:54 EDT 2018


STINNER Victor <vstinner at redhat.com> added the comment:

PR 9541: my new attempt to remove the micro-optimization. Commit message:

bpo-30156: Remove property_descr_get() optimization

property_descr_get() uses a "cached" tuple to optimize function
calls. But this tuple can be discovered in debug mode with
sys.getobjects(). Remove the optimization, it's not really worth it
and it causes 3 different crashes last years.

Microbenchmark:

./python -m perf timeit -v \
    -s "from collections import namedtuple; P = namedtuple('P', 'x y'); p = P(1, 2)" \
    --duplicate 1024 "p.x"

Result:

Mean +- std dev: [ref] 32.8 ns +- 0.8 ns -> [patch] 40.4 ns +- 1.3 ns: 1.23x slower (+23%)

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue30156>
_______________________________________


More information about the Python-bugs-list mailing list