欢迎!请访问关于页面了解如何使用本站的相关信息。
在Safari中将通道连接在一起似乎会泄漏内存。
例如,以下语句
(def test [input-chan] (map identity (map identity (map identity input-chan))))
当使用通道时,将会发生内存泄漏。链越长,内存泄漏越严重。
我已经创建了一个示例仓库和一个示例页面。
仓库和示例代码在此 https://github.com/bhauman/checkmemleak/blob/master/src/checking_safari_leak/core.cljs
演示页面在此此链接会泄漏 http://rigsomelight.com/checkmemleak/?leak=true此链接则不会 http://rigsomelight.com/checkmemleak
这是相当严重的泄漏。
评论者:bhauman
我刚刚确认,这同样是在Mavericks操作系统上的Safari 7.0.1 (9537.73.11)版本中的问题。
我已经更新了示例页面。
http://rigsomelight.com/checkmemleak/index.html
此链接不会泄漏 http://rigsomelight.com/checkmemleak/index.html#comp-partial
此链接会泄漏 http://rigsomelight.com/checkmemleak/index.html#map<
在此页面中提供导航,以尝试不同的实现和优化模式。
为了明确,map<-chain、custom-map、map<-和map<-都会在:none和简单优化模式下表现出泄漏。
评论者:dnolen
为了确保这张工单包含所有必要的信息——如果我记得没错,即使是高级优化也受到影响,对吗,布鲁斯?
是的,它影响了高级优化。我没有检查这仍然是问题。