【问题标题】:Xcode performance test caseXcode 性能测试用例
【发布时间】:2020-04-26 20:37:18
【问题描述】:

我需要测试性能标准的以下代码行。但不幸的是,Apple Document 无助于对此有清晰的了解。

func addStrings() {
    let maxCount = 100000
    var array:Array<String> = Array()
    for _ in 0..<maxCount {
        array.append("Test")
    }
}

性能测试用例代码如下。

func testPerformanceExample() throws {
    // This is an example of a performance test case.
    let strings = StringsCreator()
    self.measure {
        // Put the code you want to measure the time of here.
        strings.addStrings()
    }
}

从结果看来,第一个值是平均值的 21.3%(0.0611 秒)。但是其余的属性是什么意思呢?以及如何将它们(基线和最大 STD Dev)设置为可接受的标准?

它如何计算结果是 88% 好,什么是 +- 8%?

【问题讨论】:

    标签: swift xcode performance-testing standard-deviation


    【解决方案1】:

    要建立基线,请运行测试。您“通过”(因为您第一次获得免费通行证)。时间信息被合并。在这一点上,测量结果没有任何意义。

    然而,从那时起,每次随后运行测试时,如果与基线的偏差或减速太大,您就会失败。如果您的后续测试更好,并且您希望将其设置为 基线,那么您在屏幕截图中显示的对话框有一个设置基线按钮,您可以将其用于此目的。

    【讨论】:

    • 但是应该在什么基础上设置 MAX STDDev 值?
    • 和Base Line一样,我们也可以设置Max STDDev的值。
    • 哦,我明白你的意思了。好吧,你只是使用你喜欢的任何东西。正如我在回答中所说,这是一个值,如果您的标准偏差超过,它将被视为失败。每个测试运行实际上是多次运行(我认为是十次)。因此,如果这些在最大标准偏差之外相互不一致,那么您将失败。如果您没有理由更改它,请不要理会它。也许你可能会开始失败,然后说,好吧,这并不是一个糟糕的运行,让我们增加 max std dev 并让它通过吧。
    猜你喜欢
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    • 1970-01-01
    • 2013-03-27
    • 2018-08-06
    • 2018-05-01
    相关资源
    最近更新 更多