Как увеличить скорость python-скриптов: C-расширения и Python/C API
Во время разработки ПО мы сталкиваемся с выбором между удобством языка и его производительностью. Python завоевал популярность благодаря простоте и изящности, но когда дело доходит до низкоуровневых действий или махинаций, требующие производительность и быстроту, на помощь приходит C. Мы будем изучать именно интеграцию расширений во времени сборки, а не просто загрузка библиотек через ctypes. В этой статье я хочу рассказать о том, как интегрировать C-расширения с использованием библиотеки Python.h. Я также расскажу как создать свою python-библиотеку с C-расширениями. Также мы исследуем, как устроен Python — например, вспомним, что все является объектами. Я буду использовать poetry как менеджер рабочего окружения. Все будет создаваться на примере моей небольшой библиотеки для различных алгоритмов и вычислений. В конце я проведу анализ pure-python алгоритмов, нашей библиотеки и pure-c алгоритмов: скорость выполнения, распространяемость, минусы и плюсы, количество кода. Не буду тянуть, начнем!
https://habr.com/ru/companies/timeweb/articles/875420/
#c #python #c_extensions #c_расширения #расширения #производительность #оптимизация #высокая_производительность #python_c_api #timeweb_статьи