Почему «запуск» .pyc файлов не быстрее по сравнению с .py файлами?

Я знаю разницу между .py и .pyc файлом. Мой вопросне околокак,но околоЗачем Согласнодокументы:

Программа неt работает быстрее, когда он читается из файла .pyc или .pyo, чем когда он читается из файла .py; единственное, чтоБолее быстрым для файлов .pyc или .pyo является скорость, с которой они загружаются.

Файлы .pyc загружаются быстрее. Но после загрузкиБег' часть файлов .pyc занимает то же время, что иБег' часть в .py файлах? Почему это? Я бы ожидал что

битовый код (.pyc) ближе к виртуальной машине Python и, следовательно, работает быстрееФайлы .py компилируются в .pyc перед выполнением. Это требует дополнительного шага и, следовательно, стоит времени.

Мой вопрос: после части импорта, почему не работает запущенная часть файлов .pyc?t ускорить выполнение по сравнению с файлами .py?

Ответы на вопрос(2)

Решение Вопроса

.py файл, он сначала компилируется в байт-код, а затем выполняется. Загрузка такого файла медленнее, потому что для.pycЭтап компиляции уже выполнен, но после загрузки выполняется та же интерпретация байт-кода.

В псевдокоде интерпретатор Python выполняет следующий алгоритм:

code = load(path)
if path.endswith(".py"):
    code = compile(code)
run(code)
 maris09 апр. 2017 г., 04:39
Чтобы скомпилировать файл .py программно: import py_compile py_compile.compile ('Hello.py») - генерирует Hello_cpython-36.pyc (в зависимости от используемой вами реализации)
 OrangeTux27 мая 2013 г., 14:51
Глупо, конечно. Благодарю.

бежать всегда одно и то же. Скомпилированный код интерпретируется.

нагруженный отличается. Если есть токpyc файл, это воспринимается как скомпилированная версия, поэтому перед выполнением команды не нужно предпринимать никаких шагов компиляции. В противном случаеpy Файл читается, компилятор должен его скомпилировать (что занимает немного времени), но затем скомпилированная версия в памяти интерпретируется так же, как и другим способом.

Ваш ответ на вопрос