Files
revive/crates/yul/BENCHMARKS_LOWER_M4PRO.md
T
LJ 0742227c5a 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>
2025-11-25 12:00:06 +01:00

47 lines
979 B
Markdown

# 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)