Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

REVMC Toolkit

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.

Usage of bencher

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. Use help command to see the parameters.

Run

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}

Bench

Bench Fibonacci call

RUST_LOG=info cargo run --release -p revmc-toolkit-bench bench call

Bench Transaction

RUST_LOG=info cargo run --release -p revmc-toolkit-bench bench tx {tx-hash}

Bench Block

RUST_LOG=info cargo run --release -p revmc-toolkit-bench bench block {block-number}

Bench Block Range

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.

Gas Guzzlers

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}

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages