Рубріки: Истории

Программист пообещал ускорить Python в пять раз — его сразу же нанял Microsoft

Анастасія Пономарьова

Разработчик Марк Шеннон создал план реализации для ускорения CPython (наиболее распространенной реализации языка) в пять раз — в новой версии язык уже быстрее до 60%. И это только начало, сообщается в блоге Microsoft.

Подробности

Марк Шеннон, фото из LinkedIn

План у Марка появился еще в 2020 году: в нем предлагался четырехэтапный процесс, который, как говорит создатель Python Гвидо ван Россум, был слишком трудоемким для одного человека. Нужна команда.

«С самого начала я думал, что мы должны посмотреть, сможет ли Microsoft нанять Марка и небольшую группу людей для совместной работы над этим планом. Ведь работы было слишком много для одного человека», — говорил Гвидо.

Microsoft поддержала идею и создала команду из шести программистов-энтузиастов, включая Ван Россума (он в прошлом году вышел на пенсию и присоединился в качестве заслуженного инженера). Реализация плана уже дает свои плоды: новая версия Python 3.11 показала ускорение на 10-60% в некоторых областях языка.

Как это работает

CPython использует код C для интерпретации языка Python. Хотя успех Python заключается в его простоте для пользователя, лежащая в его основе технология требует к себе большого внимания разработчиков.

Команда состоит из людей с очень специальными знаниями. Например, Л. Прейра приобрела многие из своих навыков, работая на классических компьютерах 1970-х и 80-х годов в качестве хобби. Это помогло понять, как работать с .NET:

«Чтобы получилось делать даже самые простые вещи в старых системах, вы должны научиться оптимизировать свои программы: серьезно подумать о том, как будет распределяться память, например. Такие навыки очень полезны для интерпретатора Python».

Специалисты поработали над внедрением многих функций для повышения производительности в выпуске 3.11, но также параллельно начали работать над функциями в будущих версиях. Например, в дальнейшем планируется изменение представления меньших целых чисел в Python, чтобы использовать собственные вычисления вместо более медленных алгоритмов для произвольно больших чисел. Черновые наработки Python 3.12 уже есть их репозитории на Github.

Четырехэтапный план Шеннона будет обеспечить непрерывную оптимизацию языка в течение следующих нескольких лет.

«У Марка очень долгосрочная, глобальная цель. Нам нужно разбить эту цель на более мелкие части и найти то, что мы можем сделать уже сейчас, чтобы явно улучшить ситуацию данном этапе пути», — говорит один из членов команды, Майкл Дроттбум — программист, который работал над космическими телескопами Хаббла и Джеймса Веба.

Почему Microsoft вообще делает ставку на Python?

Microsoft уже 20 лет поддерживает развитие языков, попутно создавая новые технологии вроде C# и Typescript. Также корпорация спонсирует Python Software Foundation с 2006 года, PyCon US и другие региональные конференции, поддерживая сообщество. Но сейчас этому языку программирования уделяется особое внимание.

Иллюстрация

«Быстрый рост Python за последние 5 лет хорошо задокументирован и впечатляет. Он обусловлен, в первую очередь, ростом науки о данных и долгой историей Python написания сценариев, веб-разработки, а также тщательного баланса между производительностью и простотой использования,пишет Дэн Тейлор, главный менеджер Microsoft по управлению проектами, инструменты Python и AI. — Это язык, в котором большое внимание уделяется продуктивности разработчиков — он очень дорог нам и тесно связан с нашей миссией».

Сегодня цель команды Microsoft  — «добавить ценность сообществу Python, сделать язык лучше и помочь сообществу за пределами технической области». Дроттбум считает, что, сосредоточившись на потребностях сообщества Python, «выиграют все» — и корпорация, и программисты по всему миру.

 

Останні статті

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024