假设fn(x)
是一个纯粹的函数,它执行一些昂贵的操作,例如返回的素数列表x
。
假设我们制作了一个相同功能的记忆版本memoizedFn(x)
。对于给定的输入,它始终返回相同的结果,但它会保留先前结果的专用缓存以提高性能。
从形式上来讲,被memoizedFn(x)
认为是纯洁的?
还是在FP讨论中有其他名称或限定词来指代此功能?(即,具有副作用的函数可能会影响后续调用的计算复杂性,但可能不会影响返回值。)
funcx(){sleep(cached_time--); return 0;}
每次都会返回相同的val,但性能会有所不同