Ingernirated
@Ingernirated
Романыч

Питон считают медленным из-за того, что он скриптовый?

Никогда не задумывался, почему проскакивают такие комментарии, что питон медленный, это потому что он интерпретируемый?
  • Вопрос задан
  • 2097 просмотров
Решения вопроса 4
dimonchik2013
@dimonchik2013
non progredi est regredi
это потому, что комментирующие не знают предмета

да, Питон интерпретируемый, и он медленнее компилируемого Го, и тем более С++

но когда нужно решать задачу, Питон оказывается быстрым в практически любой сфере - от Веба до научных расчетов

в программировании есть два потока:
1) борьба со сложностью задачи
2) борьба со сложностью языка

и то и то с Питоном куда легче чем с любым другим языком

конечно, там где HighEnd - там только Си ( Го очень хорошо идет для веба), ну так "там" и curl с nginx ом, бывает, пересобирают
Ответ написан
@jacob1237
Python считается медленным, потому что он интерпретируемый и в стандартной реализации интерпретатора (CPython) нет таких вещей как JIT компиляция.
Таким образом JavaScript (на основе V8), к примеру, обгоняет его по скорости.
Кроме того, в ряде бенчмарков Python3 оказывается медленнее чем Python2.

Однако медленный - понятие относительное. В Python сильно развита система использования внешних модулей/динамических библиотек, есть возможность писать модули на C/C++, использовать внешние динамические библиотеки с помощью ctypes и т.д.

Грубо говоря, когда нужно ускорить какую-то часть программы за счет выноса её на более низкий уровень, Питон никак не будет мешать Вам это делать.

При этом Питон останется тем высокоуровневым "мостиком", который позволит продолжать решать задачу абстрагировавшись от всяких технических моментов (работа с памятью и т.д.).
Ответ написан
Комментировать
nikolay_karelin
@nikolay_karelin
Ведущий разработчик, пишу на Python, Tcl, Matlab
Во первых, строго говоря, Python компилируется в байт-код, как и Java.

Насколько я знаю ситуацию, довольно большой вклад в медленную работу Python дает его динамическая природа: когда виртуальная машина Python встречает выражение типа a + b, ей надо проверить, какие именно типы имеют величины из этих двух переменных, определены ли специальные методы типа __add__() и т.п. - это может занять вагон времени, особенно если происходит внутри цикла.

Хочу заметить, что доступные компиляторы для Python: PyPy (JIT), Numba (JIT, для численных расчетов), Cython (конвертер в C) - основаны на выводе типов и/или специальных аннотациях, иначе большой скорости программы не будет и после них.

Я на эту тему пару докладов делал в прошлом году: https://www.youtube.com/watch?v=aVriaZJDHks (на английском) и https://dev.by/lenta/space-blog/pycon-belarus-2016 (на русском).
Ответ написан
@nirvimel
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы