Tools for building, loading and integrating revmc JIT & AOT compiled functions in revm environment.
Additionally, it provides a way to compare the performance of JIT and AOT compiled functions to native EVM execution.
For transactions and benches you can specify which contracts will be compiled:
selected(default): All contracts that are called during EVM execution.gas-guzzlers: Contracts that consumed the most gas in specified block range. Usehelpcommand to see the parameters.
Run Fibonacci call
cargo run --release -p revmc-toolkit-bench run call --run-type {aot/jit/native}Run Transaction
cargo run --release -p revmc-toolkit-bench run tx {tx-hash} --run-type {aot/jit/native}Run Block
cargo run --release -p revmc-toolkit-bench run block {block-number} --run-type {aot/jit/native}RUST_LOG=info cargo run --release -p revmc-toolkit-bench bench call
RUST_LOG=info cargo run --release -p revmc-toolkit-bench bench tx {tx-hash}RUST_LOG=info cargo run --release -p revmc-toolkit-bench bench block {block-number}RUST_LOG=info cargo run --release -p revmc-toolkit-bench block-range {start-block}..{end-block} --sample-size {sample-size}The results will be recorded in a file. See --help for more options.
Find top bytecodes that consumed the most gas in specified block range.
cargo run --release --package gas-guzzlers --bin gas-guzzlers -- --start-block {start-block} --end-block {end-block} --sample-size {sample-size} --take {limit}