Медленная рекурсия, Числа Фибоначчи, Python
Почему ещё Python ощутимо медленнее C и вообще один из самых медленных языков программирования?
В прошлой статье на эту тему я сконцентрировался на одной теме — том, что самая популярная реализация языка Python (CPython) работает с компилятором. И в общем случае языки, использующие интерпретаторы, никогда не достигнут скорости языков-компиляторов. Для того же Python по этой причине написали PyPy, компилятор, чтобы писать более быстрые программы. Но! Игорь Болгов и Bashkatov справедливо напомнили мне, что это не единственная причина и часто далеко не самая важная! Подумав, я решил, что, возможно, моим подписчикам будет интереснее глубже взглянуть на этот вопрос...
🐍 Лестница оптимизации: как заставить Python работать в 1600 раз быстрее
Python любят за простоту, но часто ругают за медлительность. Каждый год появляется новый бенчмарк, где Python оказывается в десятки или даже сотни раз медленнее C или Rust. Обычно после этого начинается спор: одни говорят, что «бенчмарки ничего не значат», другие — что «надо просто писать на нормальных языках». Но реальность, как обычно, сложнее. Один разработчик решил не спорить, а проверить: что именно происходит, если последовательно применять все известные способы ускорения Python. От простого обновления версии до JIT-компиляции, NumPy и даже Rust-модулей...