Michael Cuthbert added the comment: Here are the results I obtained along with the test code I used to get the results. The test code also has a "hybrid" code which I did not propose, but maybe I should have, which uses the old code for very short (but not degenerate) tests and then the new code for larger tests. It does add code complexity however.
Results: SpeedResult(wordLen=0, tests=1000001, cached=True, oldNew='old', time='1.22 µsec') SpeedResult(wordLen=0, tests=1000001, cached=True, oldNew='new', time='525 nsec') SpeedResult(wordLen=0, tests=1000001, cached=True, oldNew='hybrid', time='522 nsec') SpeedResult(wordLen=0, tests=1000001, cached=False, oldNew='old', time='1.78 µsec') SpeedResult(wordLen=0, tests=1000001, cached=False, oldNew='new', time='605 nsec') SpeedResult(wordLen=0, tests=1000001, cached=False, oldNew='hybrid', time='617 nsec') SpeedResult(wordLen=1, tests=500001, cached=True, oldNew='old', time='1.76 µsec') SpeedResult(wordLen=1, tests=500001, cached=True, oldNew='new', time='11.4 µsec') SpeedResult(wordLen=1, tests=500001, cached=True, oldNew='hybrid', time='2.64 µsec') SpeedResult(wordLen=1, tests=500001, cached=False, oldNew='old', time='3.07 µsec') SpeedResult(wordLen=1, tests=500001, cached=False, oldNew='new', time='19.6 µsec') SpeedResult(wordLen=1, tests=500001, cached=False, oldNew='hybrid', time='3.9 µsec') SpeedResult(wordLen=5, tests=166667, cached=True, oldNew='old', time='3.2 µsec') SpeedResult(wordLen=5, tests=166667, cached=True, oldNew='new', time='14.4 µsec') SpeedResult(wordLen=5, tests=166667, cached=True, oldNew='hybrid', time='3.98 µsec') SpeedResult(wordLen=5, tests=166667, cached=False, oldNew='old', time='5.16 µsec') SpeedResult(wordLen=5, tests=166667, cached=False, oldNew='new', time='21.8 µsec') SpeedResult(wordLen=5, tests=166667, cached=False, oldNew='hybrid', time='6.14 µsec') SpeedResult(wordLen=20, tests=47620, cached=True, oldNew='old', time='9.01 µsec') SpeedResult(wordLen=20, tests=47620, cached=True, oldNew='new', time='22.4 µsec') SpeedResult(wordLen=20, tests=47620, cached=True, oldNew='hybrid', time='9.79 µsec') SpeedResult(wordLen=20, tests=47620, cached=False, oldNew='old', time='14.2 µsec') SpeedResult(wordLen=20, tests=47620, cached=False, oldNew='new', time='32.2 µsec') SpeedResult(wordLen=20, tests=47620, cached=False, oldNew='hybrid', time='15.8 µsec') SpeedResult(wordLen=60, tests=16394, cached=True, oldNew='old', time='22.2 µsec') SpeedResult(wordLen=60, tests=16394, cached=True, oldNew='new', time='34.9 µsec') SpeedResult(wordLen=60, tests=16394, cached=True, oldNew='hybrid', time='35.9 µsec') SpeedResult(wordLen=60, tests=16394, cached=False, oldNew='old', time='39.4 µsec') SpeedResult(wordLen=60, tests=16394, cached=False, oldNew='new', time='51.9 µsec') SpeedResult(wordLen=60, tests=16394, cached=False, oldNew='hybrid', time='50.7 µsec') SpeedResult(wordLen=200, tests=4976, cached=True, oldNew='old', time='68.8 µsec') SpeedResult(wordLen=200, tests=4976, cached=True, oldNew='new', time='55.8 µsec') SpeedResult(wordLen=200, tests=4976, cached=True, oldNew='hybrid', time='54.9 µsec') SpeedResult(wordLen=200, tests=4976, cached=False, oldNew='old', time='116 µsec') SpeedResult(wordLen=200, tests=4976, cached=False, oldNew='new', time='75.4 µsec') SpeedResult(wordLen=200, tests=4976, cached=False, oldNew='hybrid', time='76.6 µsec') SpeedResult(wordLen=1000, tests=1000, cached=True, oldNew='old', time='320 µsec') SpeedResult(wordLen=1000, tests=1000, cached=True, oldNew='new', time='109 µsec') SpeedResult(wordLen=1000, tests=1000, cached=True, oldNew='hybrid', time='111 µsec') SpeedResult(wordLen=1000, tests=1000, cached=False, oldNew='old', time='529 µsec') SpeedResult(wordLen=1000, tests=1000, cached=False, oldNew='new', time='183 µsec') SpeedResult(wordLen=1000, tests=1000, cached=False, oldNew='hybrid', time='175 µsec') SpeedResult(wordLen=10000, tests=100, cached=True, oldNew='old', time='3.15 msec') SpeedResult(wordLen=10000, tests=100, cached=True, oldNew='new', time='651 µsec') SpeedResult(wordLen=10000, tests=100, cached=True, oldNew='hybrid', time='673 µsec') SpeedResult(wordLen=10000, tests=100, cached=False, oldNew='old', time='5.18 msec') SpeedResult(wordLen=10000, tests=100, cached=False, oldNew='new', time='1.25 msec') SpeedResult(wordLen=10000, tests=100, cached=False, oldNew='hybrid', time='1.24 msec') SpeedResult(wordLen=100000, tests=10, cached=True, oldNew='old', time='33.8 msec') SpeedResult(wordLen=100000, tests=10, cached=True, oldNew='new', time='8.35 msec') SpeedResult(wordLen=100000, tests=10, cached=True, oldNew='hybrid', time='8.33 msec') SpeedResult(wordLen=100000, tests=10, cached=False, oldNew='old', time='53.3 msec') SpeedResult(wordLen=100000, tests=10, cached=False, oldNew='new', time='15.2 msec') SpeedResult(wordLen=100000, tests=10, cached=False, oldNew='hybrid', time='15.3 msec') SpeedResult(wordLen=1000000, tests=1, cached=True, oldNew='old', time='551 msec') SpeedResult(wordLen=1000000, tests=1, cached=True, oldNew='new', time='168 msec') SpeedResult(wordLen=1000000, tests=1, cached=True, oldNew='hybrid', time='158 msec') SpeedResult(wordLen=10000000, tests=1, cached=True, oldNew='old', time='5.48 sec') SpeedResult(wordLen=10000000, tests=1, cached=True, oldNew='new', time='1.61 sec') SpeedResult(wordLen=10000000, tests=1, cached=True, oldNew='hybrid', time='1.62 sec') ---------- Added file: http://bugs.python.org/file42692/fasterDifflib.py _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue26904> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com