STINNER Victor added the comment: > Tuples use a freelist ;-)
Honestly, I didn't expect that my "fast call" thing would give any significant speedup. I know that tuple allocator uses a free list. Fast calls allows to avoid INCREF/DECREF on each argument, can use the C stack for short memory allocations and C arrays are not tracked by the garbage collector. It looks like all these minor things altogether provides a concrete and significant speedup on benchmarks. So, I pushed call_prepend.patch with two changes: * Fix a typo in the function name :-D * Fix a reference leak in slot_tp_new() ;-) ---------- resolution: -> fixed status: open -> closed _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue27841> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com