MicroBenchmark-Instrumentierungsargumente

Konfigurieren Sie das Verhalten Ihrer Benchmarks. Geben Sie dazu für den Instrumentierungs-Runner unterschiedliche Argumente an. Diese können entweder auf Ihre Gradle-Konfiguration angewendet oder direkt hinzugefügt werden, wenn die Instrumentierung über die Befehlszeile ausgeführt wird.

So richten Sie Instrumentierungsargumente ein, wenn die Benchmarks über Android Studio ausgeführt werden:

  1. Klicken Sie auf Bearbeiten und wählen Sie die zu bearbeitende Konfiguration aus, um die Ausführungskonfiguration zu bearbeiten.
    Abbildung 1: Ausführungskonfiguration bearbeiten.
  2. Klicken Sie neben dem Feld Instrumentierungsargumente auf , um Instrumentierungsargumente zu bearbeiten.
    Abbildung 2: Bearbeiten Sie das Instrumentierungsargument.
  3. Klicken Sie auf und fügen Sie das erforderliche Instrumentierungsargument hinzu.
    Abbildung 3: Fügen Sie das Argument „Instrumentation“ hinzu.

zusätzlicheTestOutputDir

Konfiguriert, wo JSON-Benchmark-Berichte und Profilerstellungsergebnisse auf dem Gerät gespeichert werden.

  • Argumenttyp: Dateipfadstring
  • Standardeinstellung: Externes Verzeichnis des Test-APKs

androidx.Benchmark.dryRunMode.enable

Damit können Sie Benchmarks in einer einzelnen Schleife ausführen, um zu prüfen, ob sie ordnungsgemäß funktionieren. Sie können es mit regelmäßigen Tests im Rahmen der Überprüfung verwenden.

  • Argumenttyp:boolescher Wert
  • Standardeinstellung: false

androidx.Benchmark.iterations

Überschreibt die Anzahl der zeitgesteuerten Zieliterationen, um für eine konsistente Arbeitsmenge zu sorgen. Dies ist in der Regel nur nützlich, wenn die Profilerstellung aktiviert ist. So lässt sich beim Vergleich verschiedener Implementierungen oder Ausführungen ein konsistentes Arbeitsvolumen in einem Profilerstellungs-Trace ausführen. In anderen Szenarien verringert dies wahrscheinlich die Genauigkeit oder Stabilität der Messungen.

  • Argumenttyp:Ganzzahl
  • Standardeinstellung: keine Angabe

androidx.Benchmark.junit4.SideEffectRunListener

Wenn beim Ausführen der Benchmark irrelevante Hintergrundarbeiten ausgeführt werden, kann es zu inkonsistenten Benchmark-Ergebnissen kommen.

Wenn Sie die Hintergrundarbeit während des Benchmarking deaktivieren möchten, setzen Sie den Argumenttyp listener auf androidx.benchmark.junit4.SideEffectRunListener.

  • Argumenttyp: String
  • Verfügbare Optionen:
    • androidx.benchmark.junit4.SideEffectRunListener
  • Standardeinstellung: keine Angabe

androidx.Benchmark.output.enable

Ermöglicht das Schreiben der JSON-Ergebnisdatei in einen externen Speicher.

  • Argumenttyp:boolescher Wert
  • Standardeinstellung: true

androidx.Benchmark.profiling.mode

Ermöglicht das Erfassen von Trace-Dateien während der Ausführung der Benchmarks. Informationen zu den verfügbaren Optionen finden Sie unter Profil für eine MicroBenchmark erstellen.

  • Argumenttyp: String
  • Verfügbare Optionen:
    • MethodTracing
    • StackSampling
    • None
  • Standardeinstellung: None

androidx.Benchmark.suppressErrors

Akzeptiert eine durch Kommas getrennte Liste von Fehlern, die in Warnungen umgewandelt werden sollen.

  • Argumenttyp: Liste von Strings
  • Verfügbare Optionen:
    • DEBUGGABLE
    • LOW-BATTERY
    • EMULATOR
    • CODE-COVERAGE
    • UNLOCKED
    • SIMPLEPERF
    • ACTIVITY-MISSING
  • Standardeinstellung: eine leere Liste

androidx.Benchmark.startupMode.enable (eingestellt)

Rekonfiguriert das Schleifenverhalten neu, um beim Start Benchmarking-Code zu unterstützen. Die Benchmarks werden ohne Aufwärmschleife für 10 Messungen ausgeführt. Die Schleifen-Durchschnittsermittlung ist deaktiviert, um den Aufwand in Mikro-Benchmarks zu minimieren.

  • Argumenttyp:boolescher Wert
  • Standardeinstellung: false