Що таке кешуючий декоратор?
Кешуючий декоратор (caching decorator) – це шаблон проектування, який дозволяє кешувати результати функцій для прискорення їх повторних викликів.
Суть роботи полягає в наступному:
- Створюється декоратор, який приймає функцію в якості аргументу.
- В тілі декоратора створюється словник-кеш для збереження результатів викликів функції з різними аргументами.
- При виклику функції – спочатку перевіряється, чи є в кеші готовий результат для поточних аргументів.
- Якщо так – просто повертається готовий результат з кешу.
- Якщо ні – викликається оригінальна функція, її результат зберігається у кеш та повертається.
Таким чином досягається економія часу за рахунок уникнення повторних обчислень при повторних викликах функції.
Ось простий приклад реалізації кешуючого декоратора в Python.
from functools import lru_cache @lru_cache() def slow_function(x): print(f'Calling with {x}') time.sleep(1) # Великі обчислення return x slow_function(1) # Виклик з кешем slow_function(1)
А ось реалізація аналогічного функціоналу в JavaScript
const cache = {};function slow(x) {
console.log(`Calling with ${x}`);if (cache
У вас є запитання чи ви хочете поділитися своєю думкою? Тоді запрошуємо написати їх в коментарях!
Приєднуйтеся до нашого чату: Телеграм!У вас є запитання до змісту чи автора статті?НАПИСАТИ⚡⚡⚡ Топ-новини дня ⚡⚡⚡
Хто такий Такер Карлсон? Новий законопроект про мобілізацію З травня пенсію підвищать на 1000 гривеньЗалишити коментар
Опубліковано Максим на 27 01 2024. Поданий під Технології. Ви можете слідкувати за будь-якими відповідями через RSS 2.0. Ви можете подивитись до кінця і залишити відповідь.