LINUX.ORG.RU

Гвидо ван Россум хочет ускорить Питон вдвое

 ,


1

2

На онлайн-конференции Python Language Summit 2021 автор языка и сотрудник Майкрософт Гвидо ван Россум рассказал о запланированном на версию 3.11 увеличении скорости CPython.

За проект Ван Россум благодарит пандемию и Майкрософт. Ему стало скучно на пенсии, он попробовал наняться в Майкрософт, его взяли и разрешили самому выбрать, чем заняться. Таким образом Майкрософт «возвращает долги» Питону.

В прошлом году уже предлагался 4-летний «план Шеннона», обещавший ускорение на 50% в год в течении 4 лет за 2 миллиона долларов (500 тысяч в год). Одним из условий было, чтобы направление разработки определяло сообщество, а не корпорации.

Сейчас разработкой на деньги Майкрософт занимаются Марк Шеннон, Эрик Сноу и Гвидо Ван Россум, могут привлечь и других программистов. Обещают прозрачное сотрудничество с ядром разработчиков основной ветки и плавное накопление изменений. Не будет ни долгосрочных параллельных форков, ни внезапных патчей из 6000 строк. Все изменения будут доступны для обсуждения на Гитхабе.

Разработчики приняли следующие ограничения:

  • Не ломать совместимость со стабильным ABI.
  • Не ломать частичную совместимость API.
  • Не ломать и не замедлять граничные случаи (например, не кидать миллион объектов в стек eval).
  • Не делать код несопровождаемым.

Поэтому нельзя менять базовые вещи: объекты, типы, счёт ссылок; байткод, стековый фрейм; компилятор, интерпретатор; внутреннее устройство большинства объектов…

Для ускорения версии 3.11 планируют:

  • Адаптивный интерпретатор байткода.
  • Множество сравнительно небольших оптимизаций:
    фрейм стека;
    ускорение вызовов;
    аллокация.
  • Обработка исключений «без накладных расходов». (кавычки Ван Россума)

Гарантии успеха не дают.

Также хотят:

  • Ускорить запуск.
  • Изменить формат файлов .pyc.
  • Ускорить операции с целыми.
  • Фиксированное смещение для __dict__.
  • «Скрытые классы».
  • «Tagged numbers».

В последующих версиях хотят добиться 5-кратного ускорения. Вероятно, будут генерировать машинный код (iOS в пролёте). Могут что-то сделать с ABI и API.

Кто выиграет — очевидно. Не будет особой разницы для библиотек на Си (numpy, tensorflow), программ, тормозящихся вводом-выводом, многопоточного кода. И для неэффективных алгоритмов.

PEP 659: https://www.python.org/dev/peps/pep-0659/
Гитхаб: https://github.com/faster-cpython/

>>> Презентация

★★★★★

Проверено: Shaman007 ()
Последнее исправление: commagray (всего исправлений: 3)

Ответ на: комментарий от anonymous

Ну это как бы очевидно.

Этот абзац и перечисляет очевидное :)

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

Где ты увидел ломку и 4?

Неужели всё будет сделано в рамках текущего набора фич? Тогда это, действительно, чудо. Надеюсь, что ускоренная версия будет бесплатная, а не по подписке как icc.

pacify ★★★★★
()
Ответ на: комментарий от pacify

Неужели всё будет сделано в рамках текущего набора фич? Тогда это, действительно, чудо. Надеюсь, что ускоренная версия будет бесплатная, а не по подписке как icc.

Ну, там 2 оговорки. Во-первых, что-то слегка ломают в каждой минорной версии, поэтому можно трактовать обещания как «будут ломать, но не мы» или «будем, но не больше обычного». Во-вторых «без гарантии, что получится вдвое» :)

И да, обещают сразу выкладывать исходники и слать в апстрим.

question4 ★★★★★
() автор топика

гугловцы заслали казачка в микрософт. ща он там винду на пайтоне перепишет. так и наступит вендекапец - хеил ту гвидо!

koroboku
()

SBCL смотрит на это с недоумением. @lovesan, подскажи ребятам План Шеннона запилить.

anonymous
()

А Рогозин хочет построить обитаемую базу на Луне.

Вот когда ускорит, вот тогда и будет новость!

YogSagot ★★★
()
Ответ на: комментарий от anonymous

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

Джаваскриптом тебе по губам.

IPR ★★★★★
()

Вспоминается, как препод говорил: если при оценке физ. величины мы ошиблись вдвое - значит, оценка вышла верная. Ошибка - это когда на порядок.

Это к тому, что ускорение вдвое - это, считай, ниачем.

Но реально новость все равно хорошая :D

anonymous
()
Ответ на: комментарий от anonymous

Пусть пересывают PyPy на Си, будет вам оптимизация. Иначе, проект уйдет вместе с разрабами-rпитонистами

Вот. Гвидо так тоже думал. Потому вы с ним вдвоем херовые архитекторы.

byko3y ★★★★
()
Ответ на: комментарий от anonymous

Вообще, кажется уже все научились не писать на питоне cpu-bound код, так что вообще мало что поменяется для нормальных существующих программ

Эту фразу можно переписать проще «питон не нужен». Но есть проблема — им пользуются. И что делать будем?

byko3y ★★★★
()

Самое главное чтобы не было как с Ruby, вон обещали что выйдет 3 он будет в 3 раза быстрее. Даже лозунг придумали 3х3, а на самом деле оказалось что все пшик. Реально даже до 1.5х не дотянули :(

mx__ ★★★★★
()

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

thesis ★★★★★
()

Гвидо ван Россум хочет ускорить Питон вдвое

Этого недостаточно. Минимум 2 порядка нужно.

yvv ★★☆
()

а новость через джва года будет: «гвидон обосрался»? будем ждать.

anonymous
()

хочет ускорить Питон вдвое… В последующих версиях хотят добиться 5-кратного ускорения.

Мелкая «хотелка», Питон нужно сразу «умногокрачивать».

quickquest ★★★★★
()
Ответ на: комментарий от byko3y

Внезапно, RPython тоже на Си написан.

anonymous
()
Ответ на: комментарий от IPR

а зачем нужна интерпретируемость?

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

Ford_Focus ★★★★★
()
Последнее исправление: Ford_Focus (всего исправлений: 1)
Ответ на: комментарий от pacify

Это был бы идеальный вариант. Быстрый py4 со строгой статической типизацией, с AOT-компиляцией, выполненный как фронт к llvm, с визардом для миграции…

Ford_Focus ★★★★★
()
Ответ на: комментарий от question4

Не в 2, а в 10

Не в лотерею, а в карты. И не выйграл, а проиграл.

instant
()
Ответ на: комментарий от Novec1230

Пресловутый язычек с Латинской Америки

anonymous
()

Как по мне, если выйдет, мы все выиграем, если не выйдет, мы ничего не потеряем. Так что пусть пилят.

beck ★★★★
()

Похвальное желание. Тем более что свои наработки очень удачно вывалила мордокнига. Но почему этой, очевидно давней проблемой для этого «горячего финского парня», питона, который все умеет но делает это так медленно что сдохнуть можно, Гвидо занялся только на пенсии?

anonymous
()
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от anonymous

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

Вообще-то, там уже предвидят проблемы с JIT на iOS. Но это не приоритетная платформа для Питона.

question4 ★★★★★
() автор топика

Два-пять раз это хорошо, но логика и арифметика переписанная в лоб с Си обычно тормозят в ~сотню. Так что общей погоды может не сделать, горячий код на питоне и так должен быть редкостью.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от sphericalhorse

Отличная, но что нам, розовые слюни пускать на обещания? Комменты они для критики, а не для шума.

t184256 ★★★★★
()
Ответ на: комментарий от byko3y

Писать на лиспе, Genie или kuroko-lang.

anonymous
()
Ответ на: комментарий от anonymous

А кто-то всерьез гоняет питон на винде? Зачем? Для скриптования у них свой язык есть.

Какой? Visual Basic Script? Насколько я помню, в районе 2000-го года он один был существенно (раза в 2) медленнее Питона.

question4 ★★★★★
() автор топика

ускорить Питон вдвое

всего лишь вдвое? слишком мало, все равно от конкурентов будет отставать по скорости

anonymous
()
Ответ на: комментарий от anonymous

Зачем? Затем, что любителей unix в стане питонистов с момента взлета популярности убыло, да и он не уважал философию никогда.

anonymous
()
Ответ на: комментарий от anonymous

Если мелкомягкие исходнички не закроют, ибо лицензия позволяет.

С открытой репой, которую уже успели распиарить, и которую будут активно копировать заинтересованные пользователи? Худшее, что МС могут сделать — закрыть проект на полдороги.

question4 ★★★★★
() автор топика
Последнее исправление: question4 (всего исправлений: 1)
Ответ на: комментарий от question4

которую будут активно копировать заинтересованные пользователи

А как же авторское право? Отступы и прочее.

anonymous
()
Ответ на: комментарий от question4

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

anonymous
()
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от beck

Как по мне, если выйдет, мы все выиграем, если не выйдет, мы ничего не потеряем. Так что пусть пилят.

Если гвидон не <произведет на свет зерна филки>ется, то получим немного более быстрый питон, и человечество еще дольше не будет от него отказываться, набирая при этом еще больше легаси <цветов>. Снежный <цвето>ком из питоньего <зерна фиалки>. Как вам такое нравится?

anonymous
()
Ответ на: комментарий от anonymous

Тебе не стоит пропускать прием таблеток…

anonymous
()
Ответ на: комментарий от fernandos

ИМХО, быстрее пыхи он уже не станет.

Судя по восторженным отзывам о последнем Zend Engine, этого хватит :)

question4 ★★★★★
() автор топика

Ему стало скучно на пенсии, он попробовал наняться в Майкрософт, его взяли и разрешили самому выбрать, чем заняться

А что, так можно было?!

Kompilainenn ★★★★★
()
Ответ на: комментарий от question4

Это при том, что в пиэйчпи сейчас максимально пытаются нарастить производительность.

fernandos ★★★
()
Ответ на: комментарий от question4

Какой? Visual Basic Script? Насколько я помню, в районе 2000-го года он один был существенно (раза в 2) медленнее Питона.

Powershell. Если речь именно о скриптовании, то скорость там и не нужна. А прям нагруженные сервисы на линуксах гоняют, а если на винде - то это дотнеты уже.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.