• Raymond Hettinger's avatar
    Speed-up dictionary constructor by about 10%. · effde12f
    Raymond Hettinger yazdı
    New opcode, STORE_MAP saves the compiler from awkward stack manipulations
    and specializes for dicts using PyDict_SetItem instead of PyObject_SetItem.
    
    Old disassembly:
                  0 BUILD_MAP                0
                  3 DUP_TOP
                  4 LOAD_CONST               1 (1)
                  7 ROT_TWO
                  8 LOAD_CONST               2 ('x')
                 11 STORE_SUBSCR
                 12 DUP_TOP
                 13 LOAD_CONST               3 (2)
                 16 ROT_TWO
                 17 LOAD_CONST               4 ('y')
                 20 STORE_SUBSCR
    
    New disassembly:
                  0 BUILD_MAP                0
                  3 LOAD_CONST               1 (1)
                  6 LOAD_CONST               2 ('x')
                  9 STORE_MAP
                 10 LOAD_CONST               3 (2)
                 13 LOAD_CONST               4 ('y')
                 16 STORE_MAP
    effde12f
opcode.h 4.24 KB