آرگومان های ابزار دقیق میکروبنچمارک

رفتار Microbenchmark را با آرگومان های ابزار دقیق زیر پیکربندی کنید. می‌توانید اینها را به پیکربندی Gradle خود اضافه کنید یا هنگام اجرای ابزار دقیق از خط فرمان مستقیماً آنها را اعمال کنید. برای تنظیم این آرگومان ها برای همه اجراهای آزمایشی Android Studio و خط فرمان، آنها را به testInstrumentationRunnerArguments اضافه کنید:

android {
    defaultConfig {
        // ...
        testInstrumentationRunnerArguments["androidx.benchmark.dryRunMode.enable"] = "true"
    }
}

همچنین می‌توانید هنگام اجرای بنچمارک‌ها از Android Studio، آرگومان‌های ابزار دقیق را تنظیم کنید. برای تغییر آرگومان ها به صورت زیر عمل کنید:

  1. با کلیک بر روی Edit و انتخاب پیکربندی مورد نظر برای ویرایش، پیکربندی اجرا را ویرایش کنید.
    شکل 1. پیکربندی اجرا را ویرایش کنید.
  2. با کلیک روی در کنار فیلد آرگومان های ابزار دقیق، آرگومان های ابزار دقیق را ویرایش کنید.
    شکل 2. آرگومان ابزار دقیق را ویرایش کنید.
  3. روی کلیک کنید و آرگومان ابزار دقیق را اضافه کنید.
    شکل 3. آرگومان ابزار دقیق را اضافه کنید.

اگر معیار را از خط فرمان اجرا می کنید، -P android.testInstrumentationRunnerArguments.[name of the argument] :

./gradlew :benchmark:connectedAndroidTest -P android.testInstrumentationRunnerArguments.androidx.benchmark.profiling.mode=StackSampling

اگر دستور am instrument را مستقیماً فراخوانی می‌کنید (که ممکن است در محیط‌های آزمایش CI صدق کند)، آرگومان را با -e به am instrument ارسال کنید:

adb shell am instrument -e androidx.benchmark.profiling.mode StackSampling -w com.example.macrobenchmark/androidx.benchmark.junit4.AndroidBenchmarkRunner

برای اطلاعات بیشتر در مورد پیکربندی معیارها در CI، به معیارگذاری در CI مراجعه کنید

androidx.benchmark.cpuEventCounter.enable (تجربی)

رویدادهای CPU مشخص شده در androidx.benchmark.cupEventCounter.events را می شمارد. به دسترسی روت نیاز دارد.

  • نوع آرگومان: بولی
  • پیش‌فرض به: false

androidx.benchmark.cpuEventCounter.events (تجربی)

نوع رویدادهای CPU را مشخص می کند. برای استفاده از این آرگومان androidx.benchmark.cpuEventCounter.enable باید روی true تنظیم شود.

  • نوع آرگومان: لیست رشته ها با کاما جدا شده است
  • گزینه های موجود:
    • Instructions
    • CPUCycles
    • L1DReferences
    • L1DMisses
    • BranchInstructions
    • BranchMisses
    • L1IReferences
    • L1IMisses
  • پیش‌فرض‌ها برای: Instructions ، CpuCycles ، BranchMisses

androidx.benchmark.dryRunMode.enable

به شما امکان می دهد معیارها را در یک حلقه اجرا کنید تا بررسی کنید که آنها به درستی کار می کنند.

این یعنی:

  • خطاهای پیکربندی اعمال نمی‌شوند (مثلاً برای آسان‌تر کردن اجرای آزمایش‌های صحت منظم روی شبیه‌سازها)
  • معیار تنها یک حلقه را اجرا می کند، بدون گرم کردن
  • اندازه‌گیری‌ها و ردیابی‌ها برای کاهش زمان اجرا ثبت نمی‌شوند

این کار برای توان آزمایشی و اعتبارسنجی منطق معیار بیش از صحت ساخت و اندازه‌گیری بهینه می‌شود.

  • نوع آرگومان: بولی
  • پیش‌فرض به: false

androidx.benchmark.killExistingPerfettoRecordings

معیار به‌طور پیش‌فرض هنگام شروع یک ردیابی جدید برای کاهش تداخل، تمامی ضبط‌های موجود Perfetto (System Trace) را از بین می‌برد. برای غیرفعال کردن این رفتار، false پاس کنید.

  • نوع آرگومان: بولی
  • پیش‌فرض به: true

androidx.benchmark.output.enable

نوشتن فایل JSON نتیجه در حافظه خارجی را فعال می کند.

  • نوع آرگومان: بولی
  • پیش‌فرض به: true

androidx.benchmark.profiling.mode

امکان گرفتن فایل های ردیابی را در حین اجرای معیارها فراهم می کند. برای گزینه های موجود، نمایه یک Microbenchmark را ببینید.

توجه داشته باشید که برخی از نسخه‌های سیستم‌عامل اندروید از ردیابی روش بدون تحت تأثیر قرار گرفتن اندازه‌گیری‌های بعدی پشتیبانی نمی‌کنند. Microbenchmark برای جلوگیری از این امر یک استثنا ایجاد می‌کند، بنابراین از آرگومان پیش‌فرض برای ثبت ردیابی‌های متد تنها زمانی استفاده کنید که انجام این کار ایمن است. به شماره 316174880 مراجعه کنید.

  • نوع آرگومان: رشته ای
  • گزینه های موجود:
    • MethodTracing
    • StackSampling
    • None
  • پیش‌فرض‌ها: نسخه ایمن MethodTracing که تنها در صورتی ردیابی روش را ثبت می‌کند که دستگاه بتواند بدون تأثیر بر اندازه‌گیری این کار را انجام دهد.

androidx.benchmark.suppressErrors

لیستی از خطاهای جدا شده با کاما را می پذیرد تا به هشدار تبدیل شود.

  • نوع آرگومان: لیست رشته ها
  • گزینه های موجود:
    • DEBUGGABLE
    • LOW-BATTERY
    • EMULATOR
    • CODE-COVERAGE
    • UNLOCKED
    • SIMPLEPERF
    • ACTIVITY-MISSING
  • پیش‌فرض به: یک لیست خالی

اضافیTestOutputDir

محل ذخیره گزارش‌های معیار JSON و نتایج نمایه‌سازی در دستگاه را پیکربندی می‌کند.

  • نوع آرگومان: رشته مسیر فایل
  • پیش‌فرض‌ها: دایرکتوری خارجی APK را آزمایش کنید

شنونده

اگر کار پس‌زمینه نامرتبط در حین اجرای معیار اجرا شود، ممکن است نتایج معیارهای متناقضی دریافت کنید.

برای غیرفعال کردن کار پس‌زمینه در حین محک زدن، نوع آرگومان ابزار listener را روی androidx.benchmark.junit4.SideEffectRunListener تنظیم کنید.

  • نوع آرگومان: رشته ای
  • گزینه های موجود:
    • androidx.benchmark.junit4.SideEffectRunListener
  • پیش فرض برای: مشخص نشده است
{% کلمه به کلمه %} {% آخر کلمه %} {% کلمه به کلمه %} {% آخر کلمه %}