Оптимизация производительности кода на языке Python с помощью Cython

Alexander-Dobrzhansky

 

Александр Добржанский

История языка Python началась в 1991 году, когда его выпустил Гвидо ван Россум.  За эти годы он заработал репутацию одного из самых удобных и полезных языков программирования с отличным инструментарием.

К ключевым особенностям языка Python относятся:

  • Скорость разработки
  • Читабельность
  • Своя крупная экосистема библиотек
  • Большое сообщество пользователей

Но с другой стороны, скорость выполнения программ не является сильной стороной Python. В ситуациях, когда производительность приложения является основным критерием, в контексте простоты использования или экономии денег, мы сталкиваемся с серьезным вопросом — насколько нам это действительно важно?

В некоторых случаях, производительность можно увеличить за счет добавления дополнительного оборудования, но этот вариант довольно дорог и не всегда эффективен.

Еще один вариант — поиск узких мест путем профилирования кода.

После выявления узких мест в коде, вы можете спросить себя, что можно сделать, чтобы их устранить. Для оптимизации производительности кода Python существует несколько инструментов.

  • Расширения C extensions (будьте готовы писать на C)
  • Изменение времени выполнения PyPy, Pyston, GrumPy и т.д.
  • Cython

Именно о Cython давайте поговорим подробнее.

Последние новости

Новый выпуск Agile практики в Харькове: достижения и впечатления

В конце мая в Харькове с успехом прошли презентации работ участников Agile практики. Семь команд из Харьковского национального университета радиоэлектроники….

Открытие IoT лаборатории во Львовской политехнике

25 июня состоялось торжественное открытие IoT лаборатории во Львовской политехнике. Генеральный партнер — Sigma Software и еще 6 ИТ компаний….

Инновационные идеи конкурса IT-EUREKA, покорившие Sigma Software University

В этом году Sigma Software University выступил партнером Всеукраинского фестиваля инноваций, который уже четвертый год подряд проводит Министерство образования и….