Đối số đo lường dụng cụ Microbenchmark (Điểm chuẩn vi mô)

Định cấu hình hành vi của Microbenchmark bằng các đối số đo lường sau. Bạn có thể thêm các đối số này vào cấu hình Gradle hoặc áp dụng trực tiếp trong khi chạy các công cụ đo lường qua dòng lệnh. Để đặt những đối số này cho tất cả các lần chạy kiểm thử dòng lệnh và Android Studio, hãy thêm chúng vào testInstrumentationRunnerArguments:

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

Bạn cũng có thể thiết lập đối số đo lường khi chạy phép đo điểm chuẩn trong Android Studio. Để thay đổi các đối số, hãy làm như sau:

  1. Chỉnh sửa cấu hình chạy bằng cách nhấp vào Edit (Chỉnh sửa) rồi chọn cấu hình bạn muốn chỉnh sửa.
    Hình 1. Chỉnh sửa cấu hình chạy.
  2. Chỉnh sửa các đối số đo lường bằng cách nhấp vào bên cạnh trường Instrumentation arguments (Đối số đo lường).
    Hình 2. Chỉnh sửa đối số đo lường.
  3. Nhấp vào rồi thêm đối số đo lường bắt buộc.
    Hình 3. Thêm đối số đo lường.

Nếu bạn đang chạy phép đo điểm chuẩn từ dòng lệnh, hãy sử dụng -P android.testInstrumentationRunnerArguments.[name of the argument]:

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

Nếu bạn đang gọi trực tiếp lệnh đo lường (có thể là trường hợp trong môi trường kiểm thử CI), hãy truyền đối số đến am instrument bằng -e:

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

Để biết thêm thông tin về cách định cấu hình điểm chuẩn trong CI, hãy xem phần Đo điểm chuẩn trong CI

additionalTestOutputDir

Định cấu hình nơi lưu báo cáo điểm chuẩn JSON và kết quả phân tích tài nguyên trên thiết bị.

  • Loại đối số: chuỗi đường dẫn tệp
  • Mặc định là: kiểm tra thư mục bên ngoài của APK

androidx.benchmark.dryRunMode.enable

Cho phép bạn chạy phép đo điểm chuẩn trong một vòng lặp để xác minh rằng các điểm chuẩn đó hoạt động đúng cách.

Điều này có nghĩa là:

  • Không thực thi lỗi cấu hình (ví dụ: để dễ dàng chạy các kiểm thử chính xác thông thường trên trình mô phỏng)
  • Điểm chuẩn chỉ chạy một vòng lặp, không có thời gian khởi động
  • Không thu thập dữ liệu đo lường và dấu vết để giảm thời gian chạy

Điều này giúp tối ưu hoá cho mức độ tải kiểm thử và xác thực logic điểm chuẩn trên bản dựng và độ chính xác của phép đo.

  • Loại đối số: boolean
  • Mặc định là: false

androidx.benchmark.iterations

Ghi đè số lần lặp lại mục tiêu theo thời gian để đảm bảo lượng công việc nhất quán. Đối số này thường chỉ hữu ích khi bật tính năng phân tích tài nguyên để đảm bảo thực hiện lượng công việc nhất quán trong một bản theo dõi phân tích khi so sánh các phương thức triển khai hoặc chạy khác nhau. Trong các trường hợp khác, điều này có thể làm giảm độ chính xác hoặc độ ổn định của hoạt động đo lường.

  • Loại đối số: số nguyên
  • Mặc định là: không chỉ định

androidx.benchmark.junit4.SideEffectRunListener

Bạn có thể nhận được kết quả đo điểm chuẩn không nhất quán nếu thực thi công việc không liên quan ở chế độ nền trong khi đang chạy phép đo điểm chuẩn.

Để tắt công việc ở chế độ nền trong quá trình đo điểm chuẩn, hãy đặt loại đối số đo lường listener thành androidx.benchmark.junit4.SideEffectRunListener.

  • Loại đối số: chuỗi
  • Các tuỳ chọn hiện có:
    • androidx.benchmark.junit4.SideEffectRunListener
  • Mặc định là: không chỉ định

androidx.benchmark.output.enable

Cho phép ghi tệp JSON kết quả vào bộ nhớ ngoài.

  • Loại đối số: boolean
  • Mặc định là: true

androidx.benchmark.profiling.mode

Cho phép chụp tệp các theo dõi trong khi chạy điểm chuẩn. Vui lòng xem bài viết Phân tích Microbenchmark để biết các tuỳ chọn có sẵn.

  • Loại đối số: chuỗi
  • Các tuỳ chọn hiện có:
    • MethodTracing
    • StackSampling
    • None
  • Mặc định là: None

androidx.benchmark.suppressErrors

Chấp nhận danh sách lỗi được phân tách bằng dấu phẩy để chuyển thành cảnh báo.

  • Loại đối số: danh sách chuỗi
  • Các tuỳ chọn hiện có:
    • DEBUGGABLE
    • LOW-BATTERY
    • EMULATOR
    • CODE-COVERAGE
    • UNLOCKED
    • SIMPLEPERF
    • ACTIVITY-MISSING
  • Mặc định là: danh sách trống

androidx.benchmark.startupMode.enable (Không dùng nữa)

Định cấu hình lại hành vi lặp lại để hỗ trợ mã đo điểm chuẩn trong quá trình khởi động. Điểm chuẩn được thực hiện mà không cần vòng lặp khởi động cho 10 phép đo. Để giảm thiểu hao tổn khi đo điểm chuẩn vi mô, tính năng trung bình vòng lặp sẽ bị tắt.

  • Loại đối số: boolean
  • Mặc định là: false