Python 2.7 или Python 3 (для скорости)? [закрыто]

Я искал ответы, и многое кажется старым или устаревшим. Был ли обновлен Python 3, чтобы он работал быстрее, чем Python 2.7, или мне все же лучше придерживаться моего работоспособного кода?

 nhahtdh05 июн. 2012 г., 18:33
Поддержка Unicode для определенного варианта использования лучше в Python 3.
 wkl05 июн. 2012 г., 18:34
Python 3 имеет некоторые новые оптимизации в части языка, но Python2 имеетpypy JIT VM что может дать вам значительные улучшения скорости. Какой у вас вопрос? Если у вас уже есть Python 2-совместимый код, вы можете либо остаться с Python 2, либо перейти на Python 3 с некоторыми изменениями кода (если только нет библиотек, которые вы не можете получить в Python 3).
 MyNameIsKhan05 июн. 2012 г., 18:44
@birryree Мой вопрос заключается в том, могу ли я ожидать улучшения скорости при портировании на Python 3. Я не могу заставить Pypy работать в Windows.

Ответы на вопрос(4)

Воттест производительности по сравнению Python 2.7 с Python 3.3. Python 3.3 поставляется быстрее, чем Python 2.7.

 03 июн. 2014 г., 15:34
@JimFerrans ок, теперь он обновлен
Решение Вопроса

либо Python 3.x быстрее (в зависимости от того, на какие критерии вы смотрите). Точнее говоря, Python 2 раньше был быстрее, но, по-видимому, сейчас они находятся на одном уровне (?). Смотрите комментарии и этослайд-колода (к спине).

Основные разработчики также активно работают над оптимизацией Python 3 - каждый новый выпуск Python 3 былбыстрее чем последний, Вы можете быть в курсе последних предложений и идей по оптимизации Python (а также многих сложностей), отслеживаясписок рассылки python-dev.

Скорее, причина, по которой многие люди привыкли отдавать за отсутствие обновлений, заключается в том, что когда вышел Python 3 и в течение нескольких лет после этого большинство библиотек Python не были обновлены для работы на Python 3.x. Однако, к счастью, эта ситуация сегодня значительно улучшилась - большинство сторонних библиотек теперь совместимы с Python 3.

Python FAQ содержит больше информации Вы также можете проверитьПитон Стена Сверхдержав или жеPy3 Готовность чтобы получить представление о том, какие популярные библиотеки Python в настоящее время совместимы с Python 3.

Update: (Summer 2017)

Я чувствую себя обязанным отметить, что поддержка Python 2официально заканчивается в 2020 году.

Многие сторонние библиотеки также планируют следовать этому примеру - большое подмножество научной экосистемы (например, matplotlib, pandas, ipython) планируетпрекращение поддержки Python 2 в 2020 годуДжангосбросив поддержку... Я не удивлюсь, если другие библиотеки сделают то же самое.

Поэтому, если вы заинтересованы в том, чтобы убедиться, что вы можете использовать самые последние и лучшие функции либо в Python, либо в вашей любимой библиотеке, вам следует перейти на Python 3 раньше, чем позже.

Вот несколько советов по преобразованию кода Python 2 в 3:

https://docs.python.org/3/howto/pyporting.html http://python3porting.com/ https://eev.ee/blog/2016/07/31/python-faq-how-do-i-port-to-python-3/
 27 июн. 2014 г., 17:02
@kindall: Python 3.3 теперь на одном уровне с 2.7. УвидетьBrett Cannon's slides.
 22 февр. 2017 г., 22:59
@NagabhushanBaddi Да, пожалуйста, предоставьте доказательства.
 21 нояб. 2013 г., 10:16
Мое приложение PyQt / numpy примерно на 10% медленнее запускает свои собственные тесты на Python 3.3.2 по сравнению с 2.7.5. Это использует x86-64 linux с одной совместимой кодовой базой.
 05 июн. 2012 г., 19:23
На самом деле, Python 3 имеет тенденцию быть немного медленнее, чем 2.x. Не так много, и вы можете рассматривать их как одинаковые для практических целей, но тот факт, что каждое целое число теперьlong и каждая строка сейчасunicode действительно есть некоторые накладные расходы.
 20 окт. 2015 г., 23:34
@NagabhushanBaddi - если у вас есть конкретная проблема с контрольными показателями, перечисленными на связанных слайдах, или вы можете указать альтернативный набор контрольных показателей / данных для резервного копирования вашей заявки, пожалуйста, сделайте это. (Как совет, простое утверждение претензии не дает вам никакого доверия, особенно в технических кругах. Вы должны привыкнуть всегда подкреплять свои претензии данными немедленно и заранее. Если ваши данные надежны, это должно говорить само за себя.)

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

Действительно, единственный способ узнать это - сравнить ваш самый важный код в обоих и увидеть, в чем разница.

 05 июн. 2012 г., 18:47
Я согласен - бенчмаркинг - это путь.

будет ли Python3 или Pyhton2 лучше.

 17 дек. 2017 г., 12:19
Он спросил о скорости, а не о том, что лучше. Он попросил информацию, а не суждение или предпочтение.

Ваш ответ на вопрос