mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-06-20 06:51:02 +00:00
Implement Yul to LLVM IR compilation benchmarks (#407)
# Description Closes [#404](https://github.com/paritytech/revive/issues/404) Adds compilation time benchmarks for: * Parsing of Yul source code -> AST Object * Lowering of AST Object -> LLVM IR (unoptimized) The benchmarks can be run from the root via: ```sh # Run all benchmarks in the revive-yul crate (parsing + lowering) make bench-yul ``` HTML reports will be generated under `target/criterion`, and a summary of the results at [crates/yul/BENCHMARKS_PARSE_M4PRO.md](https://github.com/paritytech/revive/blob/lj/compilation-benchmarks-yul/crates/yul/BENCHMARKS_PARSE_M4PRO.md) and [crates/yul/BENCHMARKS_LOWER_M4PRO.md](https://github.com/paritytech/revive/blob/lj/compilation-benchmarks-yul/crates/yul/BENCHMARKS_LOWER_M4PRO.md) (currently from running on a Mac M4 Pro). --------- Co-authored-by: xermicus <cyrill@parity.io>
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# Benchmarks
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Benchmark Results](#benchmark-results)
|
||||
- [Baseline](#baseline)
|
||||
- [ERC20](#erc20)
|
||||
- [SHA1](#sha1)
|
||||
- [Storage](#storage)
|
||||
- [Transfer](#transfer)
|
||||
|
||||
## Benchmark Results
|
||||
|
||||
### Baseline
|
||||
|
||||
| | `lower` |
|
||||
|:-------|:-------------------------- |
|
||||
| | `110.18 us` (✅ **1.00x**) |
|
||||
|
||||
### ERC20
|
||||
|
||||
| | `lower` |
|
||||
|:-------|:-------------------------- |
|
||||
| | `623.57 us` (✅ **1.00x**) |
|
||||
|
||||
### SHA1
|
||||
|
||||
| | `lower` |
|
||||
|:-------|:-------------------------- |
|
||||
| | `357.61 us` (✅ **1.00x**) |
|
||||
|
||||
### Storage
|
||||
|
||||
| | `lower` |
|
||||
|:-------|:-------------------------- |
|
||||
| | `161.24 us` (✅ **1.00x**) |
|
||||
|
||||
### Transfer
|
||||
|
||||
| | `lower` |
|
||||
|:-------|:-------------------------- |
|
||||
| | `162.35 us` (✅ **1.00x**) |
|
||||
|
||||
---
|
||||
Made with [criterion-table](https://github.com/nu11ptr/criterion-table)
|
||||
|
||||
Reference in New Issue
Block a user