Pythonのバイトコードで最適化されている場所がいくつあるか教えてもらえますか?最近、Pythonのバイトコードを逆コンパイルしようとしていましたが、Pythonのバージョン2.5には多くの最適化があることがわかりました。たとえば、このコードに対して
a,b,c=([],[],[])#build list
version2.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'
これはほんの一例ですが、他にも多くの場所が最適化される可能性があります。それで、これらの最適化を明確にするための、またはそれらすべてを見つけることができる方法を教えてくれるドキュメントがあることを誰かが知っていますか?