Swift语法对编译速度的影响
1. 避免在Array/Dictionary literals里使用复杂运算,如??(Nil Coalescing Operator), 随元素个数耗时成指数式增长
??(Nil Coalescing Operator), 随元素个数耗时成指数式增长var a: String?
var b: String?
var c: String?
var d: String?
var e: String?
var f: String?
var g: String?
let _ = [
"a": a ?? "", // 1 ms
"b": b ?? "", // 3 ms
"c": c ?? "", // 11 ms
"d": d ?? "", // 48 ms
"e": e ?? "", // 274 ms
"f": f ?? "", // 1339 ms
"g": g ?? "", // 6550 ms
]2. 浮点数参与的数学函数后追加算数运算, 耗时增长幅度匪夷所思
3. 避免在有??的情况下使用 + 来拼接字符串
另外介绍一个hack的设置
Last updated