| # 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. |