当对向量法和正态法都进行基准测试时,存在时间上的差异。
正态方法
let arrayA: [Float] = [1,2,3]
let arrayB: [Float] = [10,20,30]
let arrayResult:[Float] = zip(arrayA,arrayB).map() {$0 + $1}
Time required: 0.0025310516357421875使用加速
let p = double3(1, 2, 3)
let q = double3(10, 20, 30)
print(p + q)
Time required: 0.0009039640426635742它是如何在内部工作的。在新的方法中,它变得快了2.79倍。
发布于 2019-12-11 19:49:03
来自Accelerate documentation
Accelerate通过利用其向量处理能力,在CPU上提供高性能、高能效的计算。下面的加速库对该功能进行抽象,以便为它们编写的代码在运行时为可用的处理器执行适当的指令。
https://stackoverflow.com/questions/59284364
复制相似问题