【发布时间】:2018-07-17 08:53:38
【问题描述】:
我在这里阅读了一堆关于 “表达式太复杂,无法在合理的时间内解决;考虑将表达式分解为不同的子表达式” 错误的问题,它们归结为重载运算符(尤其是 +)和类型推断需要很长时间才能编译。答案通常是确实将有问题的表达式分解成碎片或明确使用类型。我的问题似乎有所不同。
let someSet: Set<String> = [
"aardvark",
"aardvarks",
"abaci",
"aback",
// ... 81,000 more words ...
"zygote",
"zygotes",
"zygotic",
"zymurgies",
"zymurgy",
]
我想在编译时而不是运行时预填充 Set 以节省加载时间,而且这似乎是一种将大量数据导入我的应用程序的简单方法。在出现上述错误之前,此文件编译 10 分钟(有 3 个进程使用 100% CPU)。我没有看到任何要分手的表达方式,而且我对类型很明确。有什么建议吗?
【问题讨论】: