[issue42126] Optimize BUILD_CONST_KEY_MAP for distinct keys

Inada Naoki report at bugs.python.org
Fri Oct 23 07:46:06 EDT 2020


Inada Naoki <songofacandy at gmail.com> added the comment:

$ ./python -m pyperf timeit --compare-to ~/pyenv/versions/3.10-dev/bin/python '{}'
/home/inada-n/pyenv/versions/3.10-dev/bin/python: ..................... 23.5 ns +- 0.2 ns
/home/inada-n/work/python/cpython/python: ..................... 22.4 ns +- 0.1 ns

Mean +- std dev: [/home/inada-n/pyenv/versions/3.10-dev/bin/python] 23.5 ns +- 0.2 ns -> [/home/inada-n/work/python/cpython/python] 22.4 ns +- 0.1 ns: 1.05x f
aster (-5%)

$ ./python -m pyperf timeit --compare-to ~/pyenv/versions/3.10-dev/bin/python '{1:1,2:2}'
/home/inada-n/pyenv/versions/3.10-dev/bin/python: ..................... 83.5 ns +- 0.3 ns
/home/inada-n/work/python/cpython/python: ..................... 96.7 ns +- 0.2 ns

Mean +- std dev: [/home/inada-n/pyenv/versions/3.10-dev/bin/python] 83.5 ns +- 0.3 ns -> [/home/inada-n/work/python/cpython/python] 96.7 ns +- 0.2 ns: 1.16x s
lower (+16%)

$ ./python -m pyperf timeit --compare-to ~/pyenv/versions/3.10-dev/bin/python '{1:1,2:2,3:3}'
/home/inada-n/pyenv/versions/3.10-dev/bin/python: ..................... 108 ns +- 0 ns
/home/inada-n/work/python/cpython/python: ..................... 110 ns +- 1 ns

Mean +- std dev: [/home/inada-n/pyenv/versions/3.10-dev/bin/python] 108 ns +- 0 ns -> [/home/inada-n/work/python/cpython/python] 110 ns +- 1 ns: 1.01x slower
(+1%)

$ ./python -m pyperf timeit --compare-to ~/pyenv/versions/3.10-dev/bin/python '{1:1,2:2,3:3,4:4}'
/home/inada-n/pyenv/versions/3.10-dev/bin/python: ..................... 134 ns +- 1 ns
/home/inada-n/work/python/cpython/python: ..................... 122 ns +- 1 ns

Mean +- std dev: [/home/inada-n/pyenv/versions/3.10-dev/bin/python] 134 ns +- 1 ns -> [/home/inada-n/work/python/cpython/python] 122 ns +- 1 ns: 1.10x faster
(-9%)

$ ./python -m pyperf timeit --compare-to ~/pyenv/versions/3.10-dev/bin/python '{1:1,2:2,3:3,4:4,5:5}'
/home/inada-n/pyenv/versions/3.10-dev/bin/python: ..................... 168 ns +- 1 ns
/home/inada-n/work/python/cpython/python: ..................... 112 ns +- 1 ns

Mean +- std dev: [/home/inada-n/pyenv/versions/3.10-dev/bin/python] 168 ns +- 1 ns -> [/home/inada-n/work/python/cpython/python] 112 ns +- 1 ns: 1.50x faster
(-33%)

$ ./python -m pyperf timeit --compare-to ~/pyenv/versions/3.10-dev/bin/python '{1:1,2:2,3:3,4:4,5:5,6:6}'
/home/inada-n/pyenv/versions/3.10-dev/bin/python: ..................... 223 ns +- 1 ns
/home/inada-n/work/python/cpython/python: ..................... 150 ns +- 4 ns

Mean +- std dev: [/home/inada-n/pyenv/versions/3.10-dev/bin/python] 223 ns +- 1 ns -> [/home/inada-n/work/python/cpython/python] 150 ns +- 4 ns: 1.48x faster
(-33%)

$ ./python -m pyperf timeit --compare-to ~/pyenv/versions/3.10-dev/bin/python '{1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8}'
/home/inada-n/pyenv/versions/3.10-dev/bin/python: ..................... 273 ns +- 1 ns
/home/inada-n/work/python/cpython/python: ..................... 177 ns +- 1 ns

Mean +- std dev: [/home/inada-n/pyenv/versions/3.10-dev/bin/python] 273 ns +- 1 ns -> [/home/inada-n/work/python/cpython/python] 177 ns +- 1 ns: 1.54x faster
(-35%)

----------

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


More information about the Python-bugs-list mailing list