New submission from Marco Sulla <launchpad....@marco.sulla.e4ward.com>:
I've done a PR that speeds up the vectorcall creation of a dict using keyword arguments. The PR in practice creates a insertdict_init(), a specialized version of insertdict. I quote the comment to the function: Same to insertdict but specialized for inserting without resizing and for dict that are populated in a loop and was empty before (see the empty arg). Note that resizing must be done before calling this function. If not possible, use insertdict(). Furthermore, ma_version_tag is left unchanged, you have to change it after calling this function (probably at the end of a loop). This change speeds up the code up to a 30%. Tested with: python -m timeit -n 2000 --setup "from uuid import uuid4 ; o = {str(uuid4()).replace('-', '') : str(uuid4()).replace('-', '') for i in range(10000)}" "dict(**o)" ---------- components: Interpreter Core messages: 377318 nosy: Marco Sulla, inada.naoki priority: normal pull_requests: 21398 severity: normal status: open title: Speed up dict vectorcall creation using keywords versions: Python 3.10 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue41835> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com