Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

Производительность и скорость разработки Python 3

Читатели, имеющие опыт работы с компилирующими языками 

программирования, такими как С и C++, могут заметить несколько отличий в модели 

выполнения Python. Первое, что бросается в глаза, - это отсутствие этапа сборки,

или вызова утилиты «make»: программный код может запускаться сразу же,

как только будет написан. Второе отличие: байт-код не является двоичным 

машинным кодом (например, инструкциями для микропроцессора Intel). Байт-

код - это внутреннее представление программ на языке Python.

По этой причине программный код на языке Python не может выполняться

так же быстро, как программный код на языке С или C++, о чем уже 

говорилось в главе 1. Обход инструкций выполняет виртуальная машина, а не 

микропроцессор, и чтобы выполнить байт-код, необходима дополнительная 

интерпретация, инструкции которого требуют на выполнение больше времени,

чем машинные инструкции микропроцессора. С другой стороны, в отличие от

классических интерпретаторов, здесь присутствует дополнительный этап 

компиляции - интерпретатору не требуется всякий раз снова и снова 

анализировать инструкции исходного текста. В результате Python способен обеспечить

скорость выполнения где-то между традиционными компилирующими и 

традиционными интерпретирующими языками программирования.

С другой стороны, в модели выполнения Python отсутствуют различия между

средой разработки и средой выполнения. То есть системы, которые 

компилируют и выполняют исходный текст, - это суть одна и та же система. Для 

читателей, имеющих опыт работы с традиционными компилирующими языками,

это обстоятельство может иметь некоторое значение, но в Python компилятор

всегда присутствует во время выполнения и является частью механизма, 

выполняющего программы.

Это существенно увеличивает скорость разработки. Не нужно всякий раз 

выполнять компиляцию и связывание программ прежде чем запустить их, - вы

просто вводите исходный текст и запускаете его. Это также придает языку 

некоторый динамизм - вполне возможно, а нередко и удобно, когда программы

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

время выполнения. Например, встроенные инструкции eval и exec принимают

и выполняют строки, содержащие программный код на языке Python. 

Благодаря такой возможности Python может использоваться для настройки 

продуктов - программный код Python может изменяться «на лету», а пользователи

могут изменять части системы, написанные на языке Python, без 

необходимости перекомпилировать систему целиком.

Если смотреть с более фундаментальных позиций, то все, что имеется в Python,

работает на этапе времени выполнения - здесь полностью отсутствует этап

предварительной компиляции, все что необходимо, производится во время

выполнения программы. Сюда относятся даже такие операции, как создание

функций и классов и связывание модулей. Эти события в более статичных 

языках происходят перед выполнением, но в программах на языке Python 

происходят во время выполнения. В результате процесс программирования 

приобретает больший динамизм, чем тот, к которому привыкли некоторые читатели.

«Learning Python, Fourth Edition, by
Mark Lutz. Copyright 2009 O'Reilly Media, Inc., 978-0-596-15806-4».

Комментариев: 1
  1. Попробуйте прогнать код через ИИ - найдёт все косяки сам!

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)