Cinder из Instagram, ориентированная на производительность форк CPython 3.8, теперь доступен как Проект Facebook Incubator на GitHub. Компания сообщила, что целью выпуска кода было создание единого, более быстрого CPython.

Instagram сделал Cinder общедоступным, чтобы начать обсуждение некоторых работ в CPython, эталонной реализации Python, и сократить дублирование работы, связанной с производительностью CPython.

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

Кроме того, Instagram заявил, что у него «нет возможности» поддерживать Cinder как проект с открытым исходным кодом, и у него нет желания стать альтернативой CPython. Разработчики Cinder заявили, что цель состоит в том, чтобы убедиться, что Cinder достаточно стабилен и быстр для их производственных рабочих нагрузок, но они не дают никаких гарантий относительно его стабильности, правильности или производительности для любых других рабочих нагрузок. Они пригласили всех, кто знает, как сделать Cinder быстрее, для обратной связи.

Реализация встроенного кэширования Cinder отслеживает оптимизируемые случаи при выполнении общих кодов операций Python и динамически заменяет эти коды операций специализированными версиями. Для активной оценки сопрограммы, если вызов асинхронной функции ожидается немедленно, платформа выполняет вызываемую функцию до ее первого await. Если вызываемая функция достигает return без ожидания, Cinder вернет это значение напрямую, не создавая объект сопрограммы или не откладывая цикл обработки событий. Это обеспечивает оптимизацию ЦП при тяжелой асинхронной нагрузке.

Cinder построен и протестирован на Linux x64. По словам разработчиков, другие платформы, такие как MacOS, скорее всего, работать не будут.

Авторские права © 2021 IDG Communications, Inc.


#Высокопроизводительный #форк #Python #открытым #исходным #кодом #Instagram

Source link