9


是否有任何快速的方法来评估在新 XCode 6 操场上编写的某个代码部分的性能/运行时?
我想通过比较某些解决方案的不同编码风格及其对代码性能的影响来开始学习 Swift。

4

3 回答 3

22

我们强烈反对使用 Playground 来衡量性能,至少使用时间来衡量性能。到目前为止,在操场上花费的大部分时间是记录结果以显示在侧边栏中。您的代码所花费的实际时间并没有多大贡献。因此,您的代码在 Playground 中的运行时间主要取决于运行了多少行代码/记录了多少结果。

如果您想进行性能测量,请查看 XCTest 框架。您可以为您的 swift 代码创建一个测试包。

您可以在操场上衡量的一件事是您的代码行运行的次数。因此,例如,如果您尝试测量某些代码的算法复杂性,您可以根据运行代码行所需的次数来执行此操作,例如完成排序,或者您尝试执行的任何操作做。多次运行的代码行会在结果侧栏中显示它们运行的​​次数。

于 2014-06-05T05:28:52.733 回答
1

我构建了这个小工具,让您可以在 Playground 中进行性能测试。

我将继续更新和增强它,但现在,它会给你一个基本的能力来衡量一个函数需要多长时间运行。

https://github.com/sebastienpeek/swift-performance

于 2015-07-09T00:26:49.183 回答
-1

我找到了一个(也许不是那么优雅)的解决方案:

var start = TickCount()

var implicitInteger = 0
for (var i = 1; i < 500; i++) {
    implicitInteger += i;
}

var end = TickCount()
var dur = end - start


变量“dur”为您提供代码执行所需的刻度。

于 2014-06-04T07:06:11.610 回答