SourceKitService会吸收内存并使所有进程停止



我有很多麻烦与愚蠢的SourceKitService。它有时会占用大约20GB的内存,这意味着我的笔记本电脑几乎毫无用处,它很慢。我正在使用xCode 6.4并在Swift中工作。我正在做一个大项目,所以我确定这是导致问题的原因。

但我只是想知道是否有人找到了驯服SourceKit野兽并阻止它失控并带走我所有的记忆?

我在XCode 7中遇到了这个问题,升级到XCode 8后仍然存在。在我的例子中,我将其缩小到调用数据库包装器(GRDB)的一小段代码,如下所示:

db.execute(sqlStatement,arguments:["ParamNameA":someValueA,"ParamNameB":someValueB]);

如果参数字典中的元素数量超过20,SourceKitService的内存使用就会发疯(15gb或更多),编译时间超过10分钟。如果元素的数量小于或等于20,则SourceKitService的内存使用量低于200 MB,编译时间为几秒。

我建议寻找有超过20个元素的字典的代码,并注释它们,看看问题是否消失。

最新更新