Create a benchmark suite
- Dominant language
- Rust
- Stars
- 1.7k
- Forks
- 218
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 8
Description
### What is wrong?
We currently don't have a way to measure the efficiency of Fe code. It would be nice to be able to create contracts with certain use cases and measure:
- Deployment gas cost
- Runtime gas cost of various actions
- Code size
- ?
The numbers above could be measured against raw YUL and optimized YUL code.
We can then also compare Fe against other established languages to see where we stand in terms of efficiency.
### How can it be fixed
This can start dead simple by creating the tests and figuring out how to measure the gas costs and printing them out. We can take the [Py-EVM benchmark suite](https://github.com/ethereum/py-evm/tree/master/scripts/benchmark) as a source of inspiration (even though it measures different things, namely the speed of Py-EVM against a fixed set of gas costs whereas we want to measure and improve the gas costs itself)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the Py-EVM benchmark suite linked in the issue for inspiration, then identify how Fe can measure deployment gas, runtime gas, and code size for simple contracts. Done means benchmark tests exist, print those measurements, and allow comparison with raw and optimized YUL as described.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- blockchain, performance, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100