acheron 29b8a72800 bench: Show change amount and add change note (#2549) 2 years ago
..
locks b5519a6532 bench: Add lock files and store Solana version (#2537) 2 years ago
programs 1c6f86e5f7 Upgrade Solana to 1.16.0 (#2512) 2 years ago
scripts 29b8a72800 bench: Show change amount and add change note (#2549) 2 years ago
tests b5519a6532 bench: Add lock files and store Solana version (#2537) 2 years ago
Anchor.toml c1667120e6 bench: Add a script to sync benchmark results for all versions (#2477) 2 years ago
Cargo.toml 5910dd3e2f Add benchmarking for compute units usage (#2466) 2 years ago
README.md 9e73317d09 bench: Show Solana version used in tests (#2543) 2 years ago
bench.json b5519a6532 bench: Add lock files and store Solana version (#2537) 2 years ago
package.json b5519a6532 bench: Add lock files and store Solana version (#2537) 2 years ago
tsconfig.json 9e73317d09 bench: Show Solana version used in tests (#2543) 2 years ago

README.md

Benchmark tests

The bench program and its tests are used to measure the performance of Anchor programs.

How

We run the same tests that measure some metric for each Anchor version starting from 0.27.0. If the difference between the results is greater than 1%, the new data will be saved in bench.json and Markdown files in /bench will be updated accordingly.

Scripts

:memo: TL;DR
If you've made changes to programs or tests in this directory, run anchor run sync, otherwise run anchor test --skip-lint.

anchor test --skip-lint: Run all tests and update benchmark files when necessary. This is the only command that needs to be run for most use cases.


The following scripts are useful when making changes to how benchmarking works.

anchor run sync: Sync all benchmark files by running tests for each version. If you've made changes to the bench program or its tests, you should run this command to sync the results.

anchor run sync-markdown: Sync Markdown files in /bench based on the data from bench.json.

anchor run generate-ix: Generate program instructions with repetitive accounts.


The following script is only for the maintainer(s) of Anchor.

anchor run bump-version -- --anchor-version <VERSION>: Bump the version in all benchmark files.