Profiling Request: Slow fuzzing setup with conversions
- Dominant language
- Haskell
- Stars
- 3.2k
- Forks
- 432
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 5
Description
I have created a fuzzing setup for a Code4rena competition that turned out to be very slow. Both compile time and fuzzing speed are slow.
The code contains a lot of conversion (`bytes`, `int`, unicode) so I thought someone at ToB might be interested in profiling this.
The code can be found here:
https://github.com/code-423n4/2023-03-canto-identity/tree/main/canto-namespace-protocol
Interesting conversion code:
- https://github.com/code-423n4/2023-03-canto-identity/blob/main/canto-namespace-protocol/src/Tray.sol#L245
- https://github.com/code-423n4/2023-03-canto-identity/blob/main/canto-namespace-protocol/src/Utils.sol#L73
The fuzzing setup repo is private but I can provide invites if necessary.
Note: The contest is over so I don't need the setup anymore. Feel free to close the issue if it's not an interesting subject to profile :smile:
Contributor guide
Research direction
Start with the linked canto-namespace-protocol repository, especially src/Tray.sol around line 245 and src/Utils.sol around line 73. Reproduce or obtain access to the private fuzzing setup, then profile compilation and fuzzing separately to identify whether the conversion-heavy code is responsible. Done means documenting a reproducible bottleneck and actionable profiling results.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell, solidity
- Domain
- performance, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100