Как проект Microsoft Faster Python направлен на устранение недостатков языка в производительности и приносит пользу сообществу разработчиков открытого исходного кода

Python обычно считается самым популярным языком программирования в мире, особенно в контексте машинного обучения. Однако его основным ограничением является производительность, поскольку он требует передовых технологий, часто зависит от графических карт, не может работать в браузерах, таких как JavaScript, и имеет ограниченные возможности на мобильных устройствах. Microsoft инвестирует в проект Faster Python, который был начат автором Python Гвидо ван Россумом в 2021 году, вскоре после того, как он был нанят Microsoft в качестве выдающегося инженера, отменив свои предыдущие пенсионные планы.

Цель Ван Россума состояла в том, чтобы сделать Python в два раза более гибким и вдвое более быстрым, в то время как Марк Шеннон, внесший значительный вклад в CPython, предложил план реализации для ускорения CPython в пять раз. CPython — это стандартная реализация Python, на которой основаны другие варианты, такие как Anaconda. Хотя успех Python обусловлен его обширной экосистемой пакетов и сред, таких как NumPy и PyTorch, которые упрощают анализ данных, подавляющее большинство этих пакетов написано на C. Python — это интерпретируемый язык, тогда как C и C++ компилируются, поэтому CPython полагается на C для интерпретации кода Python.

Microsoft наняла шесть инженеров, включая Ван Россума, для улучшения производительности CPython. В нескольких разделах Python 3.10 и 3.11 вклад команды привел к увеличению скорости от 10% до 60%. Эрик Сноу работал над подинтерпретаторами, Л. Перейра реализовал новые группы исключений и возможности exclude* в версии 3.11, а Брандт Бухер разработал сопоставление структурных шаблонов.

Microsoft осторожничает, чтобы ее не считали заинтересованной в Python, и осознает недоверие разработчиков из-за своей прежней позиции в отношении Linux и открытого исходного кода. При изменении функциональности ядра компания намерена поддержать сообщество Python и сохранить качество.

Команда Microsoft встречается на регулярной основе, и Ван Россум ценит непрерывность совместной работы, а не необходимость вносить существенные изменения после каждой второй конференции. У команды есть преимущество в повышении производительности CPython благодаря их совместным усилиям и пониманию стилей и сильных сторон общения друг друга.

Проект Faster CPython — это сотрудничество между Microsoft и сообществом Python с открытым исходным кодом с целью повышения производительности Python. В некоторых разделах языка исследования уже дали обнадеживающие результаты с ускорением до 60%.

Проектом руководит Гвидо ван Россум, разработчик Python, который был назначен выдающимся инженером Microsoft в 2021 году. Когда ему предложили возможность работать над проектом Faster CPython, Ван Россум передумал о своих пенсионных планах. .
Вместе с ван Россумом Microsoft наняла команду из шести инженеров для работы над проектом. Понедельники отведены команде для обсуждения своего прогресса и совместной работы над проектом.

Подинтерпретаторы, новые группы исключений и сопоставление структурных шаблонов — это лишь некоторые из ключевых улучшений, внесенных в Python командой. Реализация этих улучшений в Python 3.10 и 3.11 привела к значительному ускорению в нескольких языковых областях.

Microsoft знает о подозрениях некоторых разработчиков в отношении ее прежнего подхода к Linux и открытому исходному коду и предпринимает шаги, чтобы гарантировать, что ее вклад в Python рассматривается как полезный, а не мотивированный повесткой дня. Тем не менее, фирма осознает риски, связанные с изменением основных функций Python, и пытается сохранить высокий стандарт языка.

Несмотря на эти препятствия, проект Faster CPython значительно продвинулся вперед, и сотрудничество между Microsoft и сообществом Python приносит свои плоды. Инициатива демонстрирует силу совместной работы над открытым исходным кодом и возможность для технологических титанов, таких как Microsoft, сотрудничать с сообществом разработчиков открытого исходного кода для улучшения программного обеспечения, которое мы используем каждый день.

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .

Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.