Marc-Andre Lemburg added the comment: On 19.04.2016 13:11, STINNER Victor wrote: > > STINNER Victor added the comment: > >> Could you perhaps check what's causing these slowdowns ? > > It's obvious, no? My patch causes the slowdown.
Well, yes, of course :-) I meant whether there's anything you can do about those slowdowns. > On a timeit microbenchmark, I don't see such slowdown. That's also why > I suspect that pybench is unstable. > > python3.6 -m timeit '{}' says 105 ns with and without the patch. > > python3.6 -m timeit 'd={}; d[1]=1; d[2]=2; d[3]=3; d[4]=4; d[5]=5; > d[6]=6; d[7]=7; d[8]=8; d[9]=9; d[10]=10' says 838 ns with and without > the patch. > > I have to "cheat": I run timeit enough times until I see the "minimum". Those operations are too fast for timeit. The overhead associated with looping is much larger than the time it takes to run the operation itself. That's why in pybench I put the operations into blocks of repeated statements. The interpreter then doesn't spend time on branching when going from one statement execution to the next (inside those blocks) and you get closer to the real runtime of the operation you're trying to measure. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue26058> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com