Может кто-нибудь сказать мне, сколько мест оптимизировано в байт-коде Python?
В эти дни я пытался декомпилировать байт-код Python, но обнаружил, что в Python версии 2.5 много оптимизации. Например: к этому коду
a,b,c=([],[],[])#build list
Неоптимизированный байт-код до версии 2.5 выглядит так:
BUILD_LIST_0
BUILD_LIST_0
BUILD_LIST_0
BUILD_LIST_4
UNPACK_LIST_
STORE_NAME 'a'
STORE_NAME 'b'
STORE_NAME 'c'
В версии 2.5 оптимизированный байт-код выглядит так:
BUILD_LIST_0
BUILD_LIST_0
BUILD_LIST_0
ROT_THREE
ROT_TWO
STORE_FAST 'a'
STORE_FAST 'b'
STORE_FAST 'c'
Это только один пример, но есть много других мест, которые можно оптимизировать. Итак, кто-нибудь знает, есть ли какая-то документация, чтобы уточнить эти оптимизации или сказать мне, как я могу найти их все?