Иллюстрация
Разработчик Марк Шеннон создал план реализации для ускорения 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 уже 20 лет поддерживает развитие языков, попутно создавая новые технологии вроде C# и Typescript. Также корпорация спонсирует Python Software Foundation с 2006 года, PyCon US и другие региональные конференции, поддерживая сообщество. Но сейчас этому языку программирования уделяется особое внимание.
Иллюстрация
«Быстрый рост Python за последние 5 лет хорошо задокументирован и впечатляет. Он обусловлен, в первую очередь, ростом науки о данных и долгой историей Python написания сценариев, веб-разработки, а также тщательного баланса между производительностью и простотой использования, — пишет Дэн Тейлор, главный менеджер Microsoft по управлению проектами, инструменты Python и AI. — Это язык, в котором большое внимание уделяется продуктивности разработчиков — он очень дорог нам и тесно связан с нашей миссией».
Сегодня цель команды Microsoft — «добавить ценность сообществу Python, сделать язык лучше и помочь сообществу за пределами технической области». Дроттбум считает, что, сосредоточившись на потребностях сообщества Python, «выиграют все» — и корпорация, и программисты по всему миру.
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…