Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.191.195.110] |
|
Сообщ.
#1
,
|
|
|
здравствуйте!
скажите я правильно понял, что при компиляции программы на питоне прироста в производительности не будет абсолютно никакой? выигрыш лишь только в том, что твой код никто не сможет прочитать. |
Сообщ.
#2
,
|
|
|
Что вы имеете в виду под термином "компиляция" в данном случае?
|
Сообщ.
#3
,
|
|
|
преобразование исходного кода в исполняемый файл. как написано в этой статье http://pythonworld.ru/osnovy/program-compi...-cx-freeze.html
может есть другие программы которые действительно компилируют программу а не зашивают в исполняемый файл интерпритатор с кодом? и почему в бейсике такого гемора нету? |
Сообщ.
#4
,
|
|
|
Питон - зык с динамической типизацией. То есть в момент выполнения программы вообще говоря неизвестно, на данные каких типов ссылаются переменные. Поэтому исполняемый код всё равно должен анализировать эти данные и выбирать соответствующие операторы. простая компиляция заменит байт-код на прямые вызовы соответствующих процедур, но это даст совсем небольшой прирост скорости.
В некоторых случаях по контексту можно узнать типы переменных. В таком случае можно уже не анализировать типы во время исполнения, а сразу применить нужную операцию над соответствующим типом. Это даст уже более заметный прирост производительности. Именно так компилирует программу PyPy, но я не уверен, что его язык полностью совпадает с языком официального интерпретатора. |