Подтвердить что ты не робот

Производительность: Python 3.x vs Python 2.x

Что касается просто производительности, как Python 3 сравнивается с Python 2.x?

4b9b3361

Ответ 1

3,0 медленнее, чем 2,5 на официальных тестах. Из "Что нового в Python 3.0" :

Конечный результат 3.0 обобщениями является то, что Python 3.0 запускает контрольный показатель pystone около 10% медленнее, чем Python 2.5. Скорее всего самая большая причина - удаление специальный корпус для небольших целых чисел. Комната для улучшения, но она произойдет после выхода 3.0.

Ответ 2

Я бы сказал, что любая разница будет ниже тривиальной. Например, петля над списком будет точно такой же.

Идея Python 3 состоит в том, чтобы очистить сам синтаксис языка - удалить неоднозначные вещи, такие как except Exception1, Exception2, очистить стандартные модули (нет urllib, urllib2, httplib и т.д.).

На самом деле вы не можете сделать это, чтобы улучшить его производительность, хотя я думаю, что такие вещи, как сбор мусора и код управления памятью, будут иметь некоторые настройки, но это не будет "вау, мой код генерации статистики базы данных завершается в половине случаев!" улучшение - это то, что вы получаете, улучшая код, а не язык!

Действительно, производительность языка не имеет значения - все интерпретируемые языки в основном функционируют с одинаковой скоростью. Почему я нахожу Python "быстрее" - это все встроенные moudles и синтаксис nice-to-write - что-то, что было улучшено в Python3, поэтому я предполагаю, что в этих терминах да, производительность python3 лучше, чем python2.x..

Ответ 3

Библиотека IO полностью переработана, а новая реализация - в чистом Python. Хотя это функциональное улучшение, в настоящее время оно значительно медленнее. Работа над переписанием основной части новой системы в C. Подробности см. эти bug отчеты.

Ответ 4

Я думаю, что в конечном счете пока еще слишком рано делать такое сравнение. Подождите, пока он не выйдет из бета-версии, прежде чем сравнивать его. Интерпретатор, вероятно, будет отлично отполирован до релиза, но в целом я думаю, что для большинства пользователей производительность будет сопоставимой, и если вы используете действительно сознательное приложение, то на самом ли деле python используется правильный язык?

Ответ 5

Если нет планов для какой-либо новой VM (и я не слышал о таких планах), есть все основания полагать, что в конечном итоге производительность Py3K будет, по крайней мере асимптотически, равной то из 2,5

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

В заключение я не думаю, что там можно беспокоиться об этом. Не стоит надеяться на какое-то значительное улучшение.

Ответ 6

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