New submission from Alexander Belopolsky:
I am attaching a proof-of-concept patch that changes the bytecode
generated from {1:1,2:2,3:3,4:4} from
BUILD_MAP 4
LOAD_CONST 2 (1)
LOAD_CONST 2 (1)
STORE_MAP
LOAD_CONST 1 (2)
LOAD_CONST 1 (2)
STORE_MAP
LOAD_CONST 4 (3)
LOAD_CONST 4 (3)
STORE_MAP
LOAD_CONST 3 (4)
LOAD_CONST 3 (4)
STORE_MAP
to
LOAD_CONST 1 (4)
LOAD_CONST 1 (4)
LOAD_CONST 2 (3)
LOAD_CONST 2 (3)
LOAD_CONST 3 (2)
LOAD_CONST 3 (2)
LOAD_CONST 4 (1)
LOAD_CONST 4 (1)
BUILD_MAP 4
and changes BUILD_MAP to behave similarly to BUILD_(SET|LIST|TUPLE) and
consume 2*n items from the stack.
The advantage is more compact and faster bytecode and uniform treatment
of BUILD_* instructions.
----------
components: Interpreter Core
files: dict-literal.diff
keywords: patch
messages: 63063
nosy: belopolsky
severity: normal
status: open
title: Further simplify dict literal bytecode
versions: Python 3.0
Added file: http://bugs.python.org/file9564/dict-literal.diff
__________________________________
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue2197>
__________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com