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

رفتار 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 مراجعه کنید

اضافیTestOutputDir

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

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

androidx.benchmark.dryRunMode.enable

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

این یعنی:

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

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

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

androidx.benchmark.iterations

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

  • نوع آرگومان: عدد صحیح
  • پیش فرض به: مشخص نشده است

androidx.benchmark.junit4.SideEffectRunListener

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

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

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

androidx.benchmark.output.enable

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

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

androidx.benchmark.profiling.mode

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

  • نوع آرگومان: رشته ای
  • گزینه های موجود:
    • MethodTracing
    • StackSampling
    • None
  • پیش فرض برای: None

androidx.benchmark.suppressErrors

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

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

androidx.benchmark.startupMode.enable (منسوخ شده)

رفتار حلقه را برای پشتیبانی از کدهای محک در هنگام راه اندازی مجدداً پیکربندی می کند. معیارها بدون حلقه گرم کردن برای 10 اندازه گیری اجرا می شوند. برای به حداقل رساندن سربار در میکروبنچمارک‌ها، میانگین‌گیری حلقه غیرفعال است.

  • نوع آرگومان: بولی
  • پیش فرض ها به: false
{% کلمه به کلمه %} {% آخر کلمه %} {% کلمه به کلمه %} {% آخر کلمه %}