argotorg / argotorg/fe

Create a benchmark suite

Open
#158 4 comments 2 reactions 0 assignees View on GitHub
prio: P3 important type: ci type: performance type: tests
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.