Путь разработчика    

Каков процесс компиляции и загрузки в python?


Сначала Python компилирует исходный код (.py-файл) в формат, известный как байтовый код. Компиляция - это просто шаг перевода, а байт-код - это низкоуровневое и независимое от платформы представление вашего исходного кода. Скомпилированный код обычно хранится в .pyc-файлах и регенерируется при обновлении источника или при необходимости. Чтобы распространять программу для людей, у которых уже установлен Python, вы можете отправить файлы .py или файлы .pyc.

Байт-код (.pyc-файл) загружается в среду исполнения Python и интерпретируется с помощью виртуальной машины Python, которая представляет собой фрагмент кода, который считывает каждую инструкцию в байт-коде и выполняет любую операцию. Компиляция байтового кода является автоматической, и PVM является частью системы Python, установленной на вашем компьютере. PVM всегда присутствует как часть системы Python и является компонентом, который действительно запускает ваши скрипты. Технически это всего лишь последний шаг так называемого интерпретатора Python. И так происходит процесс (очень общий). Конечно, для повышения производительности есть оптимизация и кеширование.

Каждый раз, когда интерпретируемая программа запускается, интерпретатор должен преобразовывать исходный код в машинный код, а также извлекать библиотеки времени выполнения. Этот процесс преобразования заставляет программу работать медленнее, чем сопоставимая программа, написанная на компилированном языке. Python делает что-то умное, чтобы улучшить свою производительность. Он компилируется в байт-код (.pyc-файлы) при первом запуске файла. Это существенно улучшает выполнение кода при следующем вводе или выполнении модуля.

Источник: http://net-informations.com/python/iq/linking.htm



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:

Какова цель класса Runtime и System?

Класс System содержит несколько полезных полей и методов класса. Целью класса System является обеспечение доступа к системным ресурсам. Это последний класс...

20 10 2019 5:13:39

Использование свойства Filter для выбора файлов изображений в C#

Этот пример в основном предназначен для упрощения поиска этих фильтров. Я использую их много, и это боль, чтобы их воссоздавать каждый раз, когда они мне н...

19 10 2019 6:18:40

Сделайте бесконечную серию меню в C#

Во время разработки я дал программе главное меню Инструменты с пунктом меню « Инструменты». Оба эти пункта меню используют следующий DropDownOpening обработ...

18 10 2019 6:30:29


Parse error: syntax error, unexpected ',' in /home/users/9/9161484547/domains/flash-mx.ru/lessons/926.php on line 69