Допустим, fn(x)это чистая функция, которая делает что-то дорогое, например, возвращает список основных факторов x.
И скажем, мы запоминаем версию той же самой функции memoizedFn(x). Он всегда возвращает один и тот же результат для заданного ввода, но поддерживает частный кэш предыдущих результатов для повышения производительности.
Формально говоря, memoizedFn(x)считается чистым?
Или есть какое-то другое имя или квалифицирующий термин, используемый для обозначения такой функции в обсуждениях FP? (т.е. функция с побочными эффектами, которые могут повлиять на вычислительную сложность последующих вызовов, но могут не повлиять на возвращаемые значения.)
funcx(){sleep(cached_time--); return 0;}каждый раз возвращает одно и то же значение val, но будет работать по-разному