https://reporter.zp.ua

Що таке кешуючий декоратор?

Ви можете поставити запитання спеціалісту!

Кешуючий декоратор (caching decorator) – це шаблон проектування, який дозволяє кешувати результати функцій для прискорення їх повторних викликів.

Суть роботи полягає в наступному:

  1. Створюється декоратор, який приймає функцію в якості аргументу.
  2. В тілі декоратора створюється словник-кеш для збереження результатів викликів функції з різними аргументами.
  3. При виклику функції – спочатку перевіряється, чи є в кеші готовий результат для поточних аргументів.
  4. Якщо так – просто повертається готовий результат з кешу.
  5. Якщо ні – викликається оригінальна функція, її результат зберігається у кеш та повертається.

Таким чином досягається економія часу за рахунок уникнення повторних обчислень при повторних викликах функції.

Є питання? Запитай в чаті зі штучним інтелектом!

Ось простий приклад реалізації кешуючого декоратора в 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

У вас є запитання чи ви хочете поділитися своєю думкою? Тоді запрошуємо написати їх в коментарях!

Приєднуйтеся до нашого чату: Телеграм!
У вас є запитання до змісту чи автора статті?
НАПИСАТИ

Залишити коментар

Опубліковано на 27 01 2024. Поданий під Технології. Ви можете слідкувати за будь-якими відповідями через RSS 2.0. Ви можете подивитись до кінця і залишити відповідь.

ХОЧЕТЕ СТАТИ АВТОРОМ?

Запропонуйте свої послуги за цим посиланням.

Останні новини

Контакти :: Редакція
Використання будь-яких матеріалів, розміщених на сайті, дозволяється за умови посилання на Reporter.zp.ua.
Редакція не несе відповідальності за матеріали, розміщені користувачами та які помічені "реклама".