Цель статьи — провести небольшое исследование оптимизации производительности на Python, изучив, как работают различные современные методы и инструменты (по отдельности и вместе) оптимизации производительности на Python без оптимизации кода.
Статья класса "от программиста для программистов".
Подобный доклад делал Григорий Бокунов, по сути, нужно сделать все тоже самое, просто обновить инфу + добавить пару новых инструментов: https://youtu.be/77B2-Pk1fls
Я предлагаю разбить статью на три части.
В первой обсудить различные инструменты с открытым исходным кодом, такие как Cython, Pypy3, Numba и Codon, которые могут помочь ускорить работу Python-программ без (!) внесения каких-либо существенных изменений в код. Описать плюсы и минусы каждого инструмента и сравнить их с помощью метрик, основанных на практическом фрагменте кода (по примеру видео доклада выше).
Во второй части надо коснуться классической оптимизации кода и подчеркнуть важность профилирования. Не надо подробно останавливаться на этой теме, а просто дать несколько полезных советов, кратко.
В третьей часть рассмотреть более радикальный подход с помощью биндингов, используя язык Rust (PyO3) и Nim (NimPy) для переписывания медленного кода.
Любые модификации, которые улучшат качество статьи – велком.
Хотелось бы много фрагментов кода + метрики на каждую туловину/подход.
Как настоящий рисерч.