dart-sdk/pkg/analysis_server/benchmark
Konstantin Shcheglov 0704d96e8f Fix DAS completion benchmarks, after Flutter change.
After 73e1f23426 (diff-20c19d254b0a82027625f1246ba51cb2264bfabf105fe91d532c19e6a6d77478)

Change-Id: Ibcb0327aa71c8d0d9bda3af71cbec582acbdbd9b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/308960
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2023-06-13 15:52:18 +00:00
..
integration Reland "Add class modifiers to dart:convert." again. 2023-03-29 16:54:23 +00:00
perf Fix DAS completion benchmarks, after Flutter change. 2023-06-13 15:52:18 +00:00
benchmarks.dart analysis_server: Prefer type annotations over raw types in benchmark/, tool/ 2023-03-01 20:40:43 +00:00
readme.md Revert "Update comments and readmes to specify dart run --no-pub when necessary." 2023-05-09 20:38:49 +00:00

Analysis Server Benchmarks

How to run the benchmarks

To see a list of all available benchmarks, run:

dart benchmark/benchmarks.dart list

To run an individual benchmark, run:

dart benchmark/benchmarks.dart run <benchmark-id>

How they're tested

In order to make sure that our benchmarks don't regress in terms of their ability to run, we create one unit test per benchmark, and run those tests as part of our normal CI test suite.

To save time on the CI, we only run one iteration of each benchmark (--repeat=1), and we run the benchmark on a smaller data set (--quick).

See test/benchmark_test.dart.

To add a new benchmark

Register the new benchmark in the main() method of benchmark/benchmarks.dart.

On the bots

Our benchmarks run on a continuous performance testing system. Currently, the benchmarks need to be manually registered ahead of time.