Инструменты
Python тормозит? Пишем C-расширение с нуля и сравниваем с pybind11 — разбор с бенчмарками
Разработчик разбирает механику подключения C++ кода к Python на примере библиотеки pyrusmorph — обёртки над 30-летним ядром libmorph. Бенчмарки показывают ускорение в 30 раз по сравнению с PyMorphy3 при обработке текста. Автор предлагает пройти путь с нуля: понять внутреннее устройство Python, написать собственное расширение на чистом C-API, а затем сравнить с подходом pybind11, который упрощает создание расширений.
В конце статьи — практические бенчмарки и советы, когда имеет смысл лезть в C++ для оптимизации Python-кода. Бонусом рассматривается JIT-компиляция Python. Материал будет полезен разработчикам, которые хотят выжать максимум производительности из своих Python-инструментов, особенно в задачах NLP и обработки текста.
Источник: habr.com