Всем доброго утра, на связи Адриан. Многие меня спрашивали про то, как можно ускорить выполнение рекурсивных функций в Python. И в это февральское утро я как раз подготовил материал по этой теме.
Кэширование может сэкономить время, когда связанная с вводом или выводом функция периодически вызывается с одинаковыми аргументами. Раньше приходилось создавать свою реализацию, но в Python 3.2+ появился декоратор
lru_cache, который позволяет нам быстро кэшировать и вскрывать возвращаемые значения функции.Давайте реализуем калькулятор чисел Фибоначчи с использованием кэша. Советую попробовать запустить любую рекурсивную функцию с кэшированием и без него, прирост в скорости замечается сразу.