Оптимізація продуктивності коду на мові Python з допомогою Cython
Олександр Добржанський
Історія мови Python почалася в 1991 році, коли його випустив Гвідо ван Россум. За ці роки він заробив репутацію одного з найбільш зручних і корисних мов програмування з відмінним інструментарієм.
До ключових особливостей мови Python відносяться:
- швидкість розробки
- читабельність
- Своя велика екосистема бібліотек
- Велике співтовариство користувачів
Але з іншого боку, швидкість виконання програм не є сильною стороною Python. У ситуаціях, коли продуктивність програми є основним критерієм, в контексті простоти використання або економії грошей, ми стикаємося з серйозним питанням - наскільки нам це дійсно важливо?
У деяких випадках, продуктивність можна збільшити за рахунок додавання додаткового обладнання, але цей варіант досить дорогий і не завжди ефективний.
Ще один варіант - пошук вузьких місць шляхом профілювання коду.
Після виявлення вузьких місць в коді, ви можете запитати себе, що можна зробити, щоб їх усунути. Для оптимізації продуктивності коду Python існує кілька інструментів.
- Розширення C extensions (будьте готові писати на C)
- Зміна часу виконання PyPy, Pyston, GrumPy і т.д.
- Cython
Саме про Cython давайте поговоримо докладніше.
У ситуаціях, коли продуктивність програми є основним критерієм, в контексті простоти використання або економії грошей, ми стикаємося з серйозним питанням - наскільки нам це дійсно важливо?