Как стать автором
Обновить

PyPy научился напрямую загружать расширения CPython'а

Время на прочтение2 мин
Количество просмотров1.9K
Автор оригинала: Alexander Schremmer
PyPy теперь умеет загружать и запускать расширения CPython'а (то есть, .pyd и .so файлы) напрямую, при помощи новой подсистемы, которая называется CPyExt. В отличие от решения, представленного в другом блог-посте (в котором модули расширения типа numpy запускались на CPython и проксировались через TCP), новое решение больше не требует запущенного CPython. Мы пока ещё не достигли полной бинарной совместимости (как Ironclad), но, в большинстве случаев, достаточно просто перекомпилировать расширение.

Единственное требование — необходимые функции C API из CPython должны быть реализованы в PyPy. Если вы пользователь или автор модуля, и вам не хватает некоторых функций в PyPy, мы приглашаем вас их реализовать. Уже довольно много людей (включая много новых контрибьюторов) уже включились в разработку и реализовали некоторые функции для того, чтоб их любимые модули заработали. В конце поста — список имён.

Кстати о скорости. Несмотря на то, что существуют накладные расходы на запуск этих модулей, когда мы запускаем движок регулярных выражений из CPython (_sre.so) и проходим бенчмарк spambayes из набора бенчмарков Unladen Swallow (см speed.pypy.org), то получаем значительное ускорение: тест стал вдвое быстрее по сравнению с движком регулярок, встроенным в PyPy. Из закона Амдала следует, что _sre.so должен работать в несколько раз быстрее, чем встроенный движок.

В данный момент идёт работа над PIL и другими модулями. Например, поддержка distutils уже почти завершена. И если вы хотите участвовать в этом или получить больше информации о том, как использовать эту новую возможность, заходите на наш IRC-канал #pypy на freenode.

Участники разработки CPyExt:
  • Alex Gaynor
  • Benjamin Peterson
  • Jean-Paul Calderone
  • Maciej Fijalkowski
  • Jan de Mooij
  • Lucian Branescu Mihaila
  • Andreas Stührk
  • Zooko Wilcox-O Hearn
Теги:
Хабы:
+33
Комментарии11

Публикации

Истории

Работа

Data Scientist
63 вакансии
Python разработчик
141 вакансия

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн