Как эталонные тесты определяют правильное использование процессора? - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь понять, как тесты бенчмарка из этого руководства Google определяют, что тест не пройден или выполнен успешно.

Что я могу увидеть из примеров кода, мы можем протестировать либо тяжелую обработку растровых изображений

@Test
fun bitmapProcessing() = benchmarkRule.measureRepeated {
    val input: Bitmap = runWithTimingDisabled { 
        constructTestBitmap() }
    processBitmap(input)
}

, либо простой целочисленный автобокс

/**
 * Measure the cost of allocating a boxed integer that takes advantage of ART's cache.
 */
@Test
fun integerArtCacheAlloc() {
    var i = Integer(1000)
    benchmarkRule.measureRepeated {
        if (i < 100) {
            i = Integer(i.toInt() + 1)
        } else {
            i = Integer(0)
        }
    }
}

без указания ожидаемой загрузки процессора.

Итак, как тест производительности может понять, какова допустимая загрузка процессора для каждого из этих тестов выше?

...