Arguments d'instrumentation de Microbenchmark

Configurez le comportement de vos benchmarks en précisant différents arguments pour l'exécuteur d'instrumentation. Ceux-ci peuvent être appliqués à votre configuration Gradle ou ajoutés directement lors de l'exécution d'une instrumentation à partir de la ligne de commande.

Pour configurer des arguments d'instrumentation lors de l'exécution des benchmarks à partir d'Android Studio, procédez comme suit :

  1. Modifiez la configuration d'exécution en cliquant sur Edit (Modifier), puis en sélectionnant la configuration à modifier.
    Figure 1 : Modifier la configuration d'exécution.
  2. Modifiez les arguments d'instrumentation en cliquant sur à côté du champ Instrumentation arguments (Arguments d'instrumentation).
    Figure 2 : Modifiez l'argument d'instrumentation.
  3. Cliquez sur et ajoutez l'argument d'instrumentation requis.
    Figure 3 : Ajoutez l'argument d'instrumentation.

additionalTestOutputDir

Configure l'emplacement sur l'appareil où sont enregistrés les rapports d'analyse comparative JSON et les résultats de profilage.

  • Type d'argument : chaîne du chemin d'accès au fichier
  • Valeur par défaut : tester le répertoire externe de l'APK

androidx.benchmark.dryRunMode.enable

Vous permet d'exécuter des benchmarks dans une seule boucle afin de vérifier qu'elles fonctionnent correctement. Vous pouvez l'utiliser avec des tests réguliers lors de la vérification.

  • Type d'argument : booléen
  • Valeur par défaut : false

androidx.benchmark.iterations

Ignore le nombre d'itérations cibles basées sur le temps pour garantir un volume de travail cohérent. En général, cette approche n'est utile que lorsque le profilage est activé, pour vous assurer que la quantité de travail est effectuée de manière cohérente dans une trace de profilage lorsque vous comparez différentes intégrations ou exécutions. Dans d'autres scénarios, cela réduit probablement la précision ou la stabilité des mesures.

  • Type d'argument : entier
  • Valeur par défaut : non spécifié

androidx.benchmark.junit4.SideEffectRunListener

Vous pouvez obtenir des résultats de benchmark incohérents si des tâches non liées en arrière-plan sont exécutées en même temps que le benchmark.

Pour désactiver les tâches en arrière-plan lors du benchmark, définissez le type d'argument d'instrumentation listener sur androidx.benchmark.junit4.SideEffectRunListener.

  • Type d'argument : chaîne
  • Options disponibles :
    • androidx.benchmark.junit4.SideEffectRunListener
  • Valeur par défaut : non spécifié

androidx.benchmark.output.enable

Permet d'écrire le fichier JSON de résultats dans un espace de stockage externe.

  • Type d'argument : booléen
  • Valeur par défaut : true

androidx.benchmark.profiling.mode

Permet de capturer des fichiers de suivi lors de l'exécution des benchmarks. Consultez la page Profiler un microbenchmark pour connaître les options disponibles.

  • Type d'argument : chaîne
  • Options disponibles :
    • MethodTracing
    • StackSampling
    • None
  • Valeur par défaut : None

androidx.benchmark.suppressErrors

Accepte une liste d'erreurs séparées par une virgule qui deviennent des avertissements.

  • Type d'argument : liste de chaînes
  • Options disponibles :
    • DEBUGGABLE
    • LOW-BATTERY
    • EMULATOR
    • CODE-COVERAGE
    • UNLOCKED
    • SIMPLEPERF
    • ACTIVITY-MISSING
  • Valeur par défaut : liste vide

androidx.benchmark.startupMode.enable (obsolète)

Permet de reconfigurer le comportement de la boucle pour assurer l'analyse comparative du code au démarrage. Les benchmarks sont exécutés sans boucle de préchauffage pour 10 mesures. Pour minimiser les frais généraux dans les microbenchmarks, la moyenne de la boucle est désactivée.

  • Type d'argument : booléen
  • Valeur par défaut : false