美文网首页
Swift reduce高阶函数与for循环运行效率比较

Swift reduce高阶函数与for循环运行效率比较

作者: jsone | 来源:发表于2021-12-02 13:57 被阅读0次

1、打印代码执行时长的方法

func calculateRunTime(_ closure: () -> Void) {
    let startTime = CFAbsoluteTimeGetCurrent()
    closure()
    let endTime = CFAbsoluteTimeGetCurrent()
    debugPrint("代码执行时长:%f 毫秒", (endTime - startTime) * 1000)
}

2、运行代码
计算0~10000整数的和

var nums = [Int]()
for i in 0...10000 {
    nums.append(i)
}
calculateRunTime {
    var sum = 0
    for i in nums {
        sum += i
    }
    debugPrint("for循环:\(sum)")
}
calculateRunTime {
    let sum = nums.reduce(0) { $0 + $1 }
    debugPrint("reduce:\(sum)")
}

运行结果:

"for循环:50005000"
"代码执行时长:%f 毫秒" 2.7080774307250977
"reduce:50005000"
"代码执行时长:%f 毫秒" 2.714991569519043

从运行结果可以看出,reduce高阶函数运行效率不for循环低一点

相关文章

网友评论

      本文标题:Swift reduce高阶函数与for循环运行效率比较

      本文链接:https://www.haomeiwen.com/subject/xpwntrtx.html