байт-код
Читатели, имеющие опыт работы с компилирующими языками
программирования, такими как С и C++, могут заметить несколько отличий в модели
выполнения Python. Первое, что бросается в глаза, - это отсутствие этапа сборки,
или вызова утилиты «make»: программный код может запускаться сразу же,
как только будет написан. Второе отличие: байт-код не является двоичным
машинным кодом (например, инструкциями для микропроцессора Intel). Байт-
код - это внутреннее представление программ на языке Python.
По этой причине программный код на языке Python не может выполняться
так же быстро, как программный код на языке С или C++, о чем уже
говорилось в главе 1. Обход инструкций выполняет виртуальная машина, а не
микропроцессор, и чтобы выполнить байт-код, необходима дополнительная
интерпретация, инструкции которого требуют на выполнение больше времени,
чем машинные инструкции микропроцессора. С другой стороны, в отличие от
классических интерпретаторов, здесь присутствует дополнительный этап
компиляции - интерпретатору не требуется всякий раз снова и снова
анализировать инструкции исходного текста. В результате Python способен обеспечить
скорость выполнения где-то между традиционными компилирующими и
традиционными интерпретирующими языками программирования. Далее...