aptos-core
aptos-core copied to clipboard
[gas] initial gas calibration implementation
This introduces a script that would allow us to benchmark the Move VM using valgrind, which would give us a pretty accurate estimation of the number of machine instructions a certain part of our pipeline (be it Move or Rust) would cost, which we could use for gas metering purposes.
Right now this only covers the bytecode instructions and maybe deserialization and bytecode verification, but more will come in the future.
Note: this change is totally safe to check in as it doesn't touch any of the production code.
@vgao1996 can we get a readme here, and then we can land this?
@davidiw Sure I'll get to this sometime. It's a lower priority compared to some other tasks though...
@vgao1996 ☝️
@vgao1996 is this still happening? Otherwise, should we close this PR?
Let's still check the tool in. It's better than having nothing.
Forge is running suite land_blocking on 0e5a3aecae766618a6f72def6f44161987a31486
- Grafana dashboard (auto-refresh)
- Humio Logs
- Test runner output
- Test run is land-blocking
Forge is running suite compat on testnet_2d8b1b57553d869190f61df1aaf7f31a8fc19a7b ==> 0e5a3aecae766618a6f72def6f44161987a31486
- Grafana dashboard (auto-refresh)
- Humio Logs
- Test runner output
- Test run is land-blocking
:white_check_mark: Forge suite compat success on testnet_2d8b1b57553d869190f61df1aaf7f31a8fc19a7b ==> 0e5a3aecae766618a6f72def6f44161987a31486
Compatibility test results for testnet_2d8b1b57553d869190f61df1aaf7f31a8fc19a7b ==> 0e5a3aecae766618a6f72def6f44161987a31486 (PR)
1. Check liveness of validators at old version: testnet_2d8b1b57553d869190f61df1aaf7f31a8fc19a7b
compatibility::simple-validator-upgrade::liveness-check : 7278 TPS, 5294 ms latency, 7800 ms p99 latency,no expired txns
2. Upgrading first Validator to new version: 0e5a3aecae766618a6f72def6f44161987a31486
compatibility::simple-validator-upgrade::single-validator-upgrade : 4470 TPS, 8845 ms latency, 12000 ms p99 latency,no expired txns
3. Upgrading rest of first batch to new version: 0e5a3aecae766618a6f72def6f44161987a31486
compatibility::simple-validator-upgrade::half-validator-upgrade : 4504 TPS, 9226 ms latency, 12400 ms p99 latency,no expired txns
4. upgrading second batch to new version: 0e5a3aecae766618a6f72def6f44161987a31486
compatibility::simple-validator-upgrade::rest-validator-upgrade : 6170 TPS, 6216 ms latency, 11000 ms p99 latency,no expired txns
5. check swarm health
Compatibility test for testnet_2d8b1b57553d869190f61df1aaf7f31a8fc19a7b ==> 0e5a3aecae766618a6f72def6f44161987a31486 passed
Test Ok
- Grafana dashboard
- Humio Logs
- Test runner output
- Test run is land-blocking
:white_check_mark: Forge suite land_blocking success on 0e5a3aecae766618a6f72def6f44161987a31486
performance benchmark with full nodes : 6515 TPS, 6067 ms latency, 15700 ms p99 latency,(!) expired 420 out of 2782720 txns
Test Ok
- Grafana dashboard
- Humio Logs
- Test runner output
- Test run is land-blocking