Я использую XCUITest для измерения производительности при запуске для приложения iOS, и когда я измеряю запуск приложения, используя блок измерений с запуском и остановом:
func testLaunchPerformanceYTM() {
if #available(macOS 10.15, iOS 13.0, tvOS 13.0, *) {
// This measures how long it takes to launch your application.
measureMetrics([XCTPerformanceMetric.wallClockTime], automaticallyStartMeasuring: false){
startMeasuring()
base.app.launch()
stopMeasuring()
}
}
}
, это дает мне значение среднее значение: 3,670, относительное стандартное отклонение: 3,617%, значения: [4,058708, 3,664153, 3,617176, 3,628132, 3,634172, 3,617843, 3,628281, 3,591406, 3,61774, 3,577926],
, но при использовании приложения Launch metri c:
func testLaunchPerformanceMeasureYTM(){
if #available(macOS 10.15, iOS 13.0, tvOS 13.0, *) {
// This measures how long it takes to launch your application.
measure(metrics: [XCTOSSignpostMetric.applicationLaunch]) {
base.app.launch()
}
}
}
это дает мне время: среднее: 1.122, относительное стандартное отклонение: 0.950%, значения: [1.120325, 1.113898, 1.116427, 1.143391, 1.118371]
I ' Интересно, знает ли кто-нибудь, как это измерение отличается между использованием .applicationLaunch и блоками Start Start Stop? Я пытался использовать отладчик, чтобы увидеть, где что-то начинает происходить, но я не совсем понимаю точное время начала и окончания измерений из него.