Jon-Becker / heimdall-rs

Heimdall is an advanced EVM smart contract toolkit specializing in bytecode analysis and extracting information from unverified contracts.
http://heimdall.rs
MIT License
1.19k stars 125 forks source link

chore(vm): add vm benchmarking #480

Closed Jon-Becker closed 3 months ago

Jon-Becker commented 3 months ago

Motivation

Solution

github-actions[bot] commented 3 months ago

Benchmark for c5b3da3

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | heimdall_cfg/complex | 17.1±2.44ms | **15.5±1.23ms** | **-9.36%** | | heimdall_cfg/simple | 2.6±0.23ms | **2.3±0.06ms** | **-11.54%** | | heimdall_decoder/seaport | **38.5±2.65µs** | 43.3±5.35µs | **+12.47%** | | heimdall_decoder/transfer | 3.2±0.50µs | 3.1±0.32µs | -3.13% | | heimdall_decoder/uniswap | 11.2±1.82µs | 11.2±0.69µs | 0.00% | | heimdall_decompiler/abi_complex | 67.9±4.01ms | 69.4±3.41ms | +2.21% | | heimdall_decompiler/abi_simple | 2.4±0.03ms | 2.4±0.12ms | 0.00% | | heimdall_decompiler/sol_complex | 81.9±4.36ms | 79.3±5.16ms | -3.17% | | heimdall_decompiler/sol_simple | 2.7±0.10ms | 2.8±0.15ms | +3.70% | | heimdall_decompiler/yul_complex | 74.5±2.44ms | **71.9±5.60ms** | **-3.49%** | | heimdall_decompiler/yul_simple | 2.6±0.04ms | **2.5±0.13ms** | **-3.85%** | | heimdall_disassembler/complex | **1036.6±25.42µs** | 1069.4±91.94µs | **+3.16%** | | heimdall_disassembler/simple | 50.1±4.57µs | 51.8±4.70µs | +3.39% | | heimdall_vm/erc20_transfer | 430.5±43.63µs | N/A | N/A | | heimdall_vm/fib | 887.5±23.34µs | N/A | N/A | | heimdall_vm/ten_thousand_hashes | 5.8±0.14s | N/A | N/A |