STINNER Victor <vstin...@redhat.com> added the comment:
I compared ref (commit e1a63c4f21011a3ae77dff624196561070c83446) to patch (commit ed076ed467264b43ed01a8223ca65b133b590919). I ran bench.py using: # edit Makefile.pre.in to use: PROFILE_TASK=-m test.regrtest --pgo test_unicode test_codecs ./configure --enable-optimizations && make ./python -m venv env && env/bin/python -m pip install -U pyperf ./env/bin/python bench.py -o <file>.json $ python3 -m pyperf compare_to ref_e1a63c4f2.json patch_ed076ed4.json 0B: Mean +- std dev: [ref_e1a63c4f2] 76.7 ns +- 0.9 ns -> [patch_ed076ed4] 77.5 ns +- 2.9 ns: 1.01x slower (+1%) 1B: Mean +- std dev: [ref_e1a63c4f2] 92.9 ns +- 0.8 ns -> [patch_ed076ed4] 94.0 ns +- 2.4 ns: 1.01x slower (+1%) 5B: Mean +- std dev: [ref_e1a63c4f2] 106 ns +- 2 ns -> [patch_ed076ed4] 110 ns +- 2 ns: 1.04x slower (+4%) 10B: Mean +- std dev: [ref_e1a63c4f2] 105 ns +- 1 ns -> [patch_ed076ed4] 109 ns +- 1 ns: 1.03x slower (+3%) 25B: Mean +- std dev: [ref_e1a63c4f2] 108 ns +- 3 ns -> [patch_ed076ed4] 111 ns +- 3 ns: 1.03x slower (+3%) 100B: Mean +- std dev: [ref_e1a63c4f2] 114 ns +- 1 ns -> [patch_ed076ed4] 115 ns +- 2 ns: 1.01x slower (+1%) 1000B: Mean +- std dev: [ref_e1a63c4f2] 267 ns +- 3 ns -> [patch_ed076ed4] 253 ns +- 4 ns: 1.06x faster (-5%) $ python3 -m pyperf compare_to ref_e1a63c4f2.json patch_ed076ed4.json --table +-----------+---------------+-----------------------------+ | Benchmark | ref_e1a63c4f2 | patch_ed076ed4 | +===========+===============+=============================+ | 0B | 76.7 ns | 77.5 ns: 1.01x slower (+1%) | +-----------+---------------+-----------------------------+ | 1B | 92.9 ns | 94.0 ns: 1.01x slower (+1%) | +-----------+---------------+-----------------------------+ | 5B | 106 ns | 110 ns: 1.04x slower (+4%) | +-----------+---------------+-----------------------------+ | 10B | 105 ns | 109 ns: 1.03x slower (+3%) | +-----------+---------------+-----------------------------+ | 25B | 108 ns | 111 ns: 1.03x slower (+3%) | +-----------+---------------+-----------------------------+ | 100B | 114 ns | 115 ns: 1.01x slower (+1%) | +-----------+---------------+-----------------------------+ | 1000B | 267 ns | 253 ns: 1.06x faster (-5%) | +-----------+---------------+-----------------------------+ The overhead of my change is around 1 ns, 4 ns (on 106 ns) in the worst case (5B). The change "looks" faster on the 1000B case, but it's likely a glitch of PGO compilation which is not really deterministic. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue37388> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com