58 lines
1.6 KiB
Markdown
58 lines
1.6 KiB
Markdown
|
|
# Run Caliper benchmark tests using vogar on a rooted device
|
|
|
|
- It uses the [Caliper library](https://github.com/google/caliper) developed by Google.
|
|
- Vogar source codes can be found at `external/vogar`.
|
|
|
|
1. Preparation
|
|
|
|
```shell
|
|
# vogar requires com.android.art.testing
|
|
m vogar com.android.art.testing
|
|
# remount if you haven't done so.
|
|
adb root && adb remount && adb reboot && adb wait-for-device root
|
|
cd libcore/benchmarks/src
|
|
```
|
|
|
|
Extra options to reduce noise:
|
|
```shell
|
|
adb shell stop # to kill frameworks and zygote
|
|
```
|
|
|
|
2. Run an individual test
|
|
|
|
```shell
|
|
vogar --benchmark benchmarks/regression/ScannerBenchmark.java
|
|
```
|
|
|
|
The source code of the tests can be found at `src/benchmarks/`
|
|
|
|
# Run Jetpack benchmark tests
|
|
Docs about Jetpack Benchmark can be found at
|
|
[https://developer.android.com/studio/profile/benchmarking-overview]()
|
|
|
|
1. Preparation
|
|
|
|
To lock CPU clocks on a rooted device,
|
|
run the script provided at [https://developer.android.com/studio/profile/run-benchmarks-in-ci#clock-locking]().
|
|
|
|
2. Run an individual test
|
|
```shell
|
|
atest LibcoreBenchmarkTests:libcore.benchmark.FormatterTest#stringFormatNumber_allLocales
|
|
```
|
|
|
|
The source code of the tests can be found at `src_androidx/libcore/benchmark/`
|
|
|
|
## Outdated documentation / Not working
|
|
|
|
###VM Options
|
|
|
|
|
|
The VM's configuration will have a substantial impact on performance.
|
|
Use Caliper's -J<name> <value 1>,<value 2>,<value 3> syntax to compare different VM options. For example:
|
|
```shell
|
|
vogar --benchmark ~/svn/dalvik/benchmarks/regression/CrespoFileIoRegressionBenchmark.java \
|
|
-- -Jgc -Xgc:noconcurrent,-Xgc:concurrent -Jint -Xint:fast,-Xint:jit,-Xint:portable
|
|
```
|
|
|