This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author methane
Recipients Tim Mitchell, abarry, christian.heimes, duaneg, larry, methane, ned.deily, rhettinger, serhiy.storchaka, tehybel
Date 2016-11-17.13:13:33
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1479388413.79.0.163077284107.issue27945@psf.upfronthosting.co.za>
In-reply-to
Content
I modified the patch to avoid incref&decref when pair is not list, because tuple is common for such case.
But I can't get back original performance.

(python 2.7 is modified version of patch)

inada-n@test1:~/work/bench$ ~/local/py27/bin/master -m perf timeit --rigorous  --python ~/local/py27/bin/python2.7 --compare-to ~/local/py27/bin/master -s 'L = [(i,i) for i in range(10000)]' -- 'dict(L)'
master: ......................................... 1.47 ms +- 0.06 ms
python2.7: ......................................... 1.55 ms +- 0.06 ms

Median +- std dev: [master] 1.47 ms +- 0.06 ms -> [python2.7] 1.55 ms +- 0.06 ms: 1.05x slower
inada-n@test1:~/work/bench$ ~/local/py27/bin/master -m perf timeit --rigorous  --python ~/local/py27/bin/python2.7 --compare-to ~/local/py27/bin/patched -s 'L = [(i,i) for i in range(10000)]' -- 'dict(L)'
patched: ......................................... 1.56 ms +- 0.08 ms
python2.7: ......................................... 1.55 ms +- 0.09 ms

Median +- std dev: [patched] 1.56 ms +- 0.08 ms -> [python2.7] 1.55 ms +- 0.09 ms: 1.01x faster
Not significant!
History
Date User Action Args
2016-11-17 13:13:33methanesetrecipients: + methane, rhettinger, larry, christian.heimes, ned.deily, duaneg, serhiy.storchaka, abarry, tehybel, Tim Mitchell
2016-11-17 13:13:33methanesetmessageid: <1479388413.79.0.163077284107.issue27945@psf.upfronthosting.co.za>
2016-11-17 13:13:33methanelinkissue27945 messages
2016-11-17 13:13:33methanecreate