crytic / crytic/echidna

Improve work distribution among workers

Open
#1,518 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Haskell
Stars
3.2k
Forks
432
Avg merge
1d 20h
Merged PRs (30d)
5

Description

### Describe the desired feature

Currently Echidna does a very naive work distribution at the beginning of a campaign

https://github.com/crytic/echidna/blob/cde590fd71f01c1f73e41d85b0ffb33300ecda15/lib/Echidna/UI.hs#L87-L90

On long campaigns, this could result in several workers finishing significantly before the end of the campaign when they get to execute simpler, faster transactions, resulting in an overall reduction of execution speed towards the end of a campaign.

Contributor guide

Open the contributing guide

Research direction

Start with lib/Echidna/UI.hs at lines 87-90, where work is initially distributed among workers. Read how campaign work is assigned and compare worker completion times during long campaigns. Done means the distribution avoids workers finishing significantly early and maintains execution speed toward the end of a campaign.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
distributed-systems, performance, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.