文件名称:memoasync:记录 Clojure 异步函数
文件大小:7KB
文件格式:ZIP
更新时间:2024-07-03 16:08:59
Clojure
备忘录同步 记住返回core.async通道的异步函数。 问题 Clojure 有一个标准库函数函数,它记住函数的结果,并且在后续调用中返回相同的值,因此不必再次计算。 对于相对昂贵的调用来说,这是一个方便的优化,并且对于相同的参数,值预计不会改变。 这种优化的代价是更高的内存使用。 标准memoize的一个缺点是它会记住所有内容。 所以参数集越大,需要的内存就越多。 在最坏的情况下,将有无限多的不同参数,并且将消耗所有可用内存。 memoize不应用于此类功能。 有一个不同的项目采用了更复杂的方法: ,它允许开发人员控制缓存策略。 core.async通道 这两种方法都不适合缓存使用core.async通道返回数据的异步函数。 此类通道只能读取一次。 然而,返回core.async通道的函数类型通常是那些最能从本地缓存中受益的函数(例如,通过非阻塞方式加载外部资源)。 解决方案 m
【文件预览】:
memoasync-master
----project.clj(447B)
----LICENSE(10KB)
----src()
--------memoasync()
----.gitignore(99B)
----README.md(3KB)