BenchmarkRule.Scope


inner class BenchmarkRule.Scope


Handle used for controlling measurement during measureRepeated.

Summary

Public functions

inline T
<T : Any?> runWithTimingDisabled(block: () -> T)

Disable measurement for a block of code.

Public functions

runWithTimingDisabled

Added in 1.0.0
inline fun <T : Any?> runWithTimingDisabled(block: () -> T): T

Disable measurement for a block of code.

Used for disabling timing/measurement for work that isn't part of the benchmark:

  • When constructing per-loop randomized inputs for operations with caching,

  • Controlling which parts of multi-stage work are measured (e.g. View measure/layout)

  • Per-loop verification

import androidx.benchmark.junit4.measureRepeated

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