-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Turning Green #1
Comments
Damn, Nethermind just took the performance of the Precompiles series to a whole new level in version 1.28.0!!! I noticed that the performance of Blake2f 1M saw a huge leap, while Blake2f 1 remained relatively stable. This makes optimizing the EcMul part of the Bounty a lot more challenging!😭 |
@CharlesFus everything is in release notes: It comes from NethermindEth/nethermind#7106 PR, which introduces a small cache for precompiles, so if you run precompile with the same inputs, you should get results almost instantly. This is especially useful when you start doing parallel execution, as one thread might have already executed the transaction. However, it still needs to be re-executed due to changed state dependencies. There is still a good chance that the precompile calls will be the same. If you want a good benchmark you can either disable that caching ( |
Hey @garyschulte, After Besu merged hyperledger/besu#7509 and the latest release, our benchmark shows your optimizations work:
You qualify for the bounty! 🎉 Please share your wallet address, and I’ll send you $863 worth of ACE (about 332 ACE). |
Thanks @CharlesFus 🙏 We are going to claim to a besu bounty address - it might take a bit to coordinate. |
suburbandad.eth Decided we would claim and use the proceeds for a nuc 11 to use for benchmarking ;) |
I just sent 353 ACE at the current price. Transaction link
💖💖 |
Brief Description:
This is our first Bounty, targeting performance optimization for the red items in the "Are We Fast Yet?"1
Bounty Target:
Based on today's result snapshot which I've converted into a single local HTML file, any
client + testcase
with a score greater than 10.0Bounty Details:
Theoretically, the maximum prize distribution for this event is: 2000 * 1 + 500 * 2 + 500 * 2 + 500 * 3 + 500 * 3 + 1500 * 3 + 1500 * 3 = 16000 USD
Example Scenario:
Bob Improved Besu‘s "Burnt Pix" performance to a score of 5.0.
Bounty Calculation:
Given:
x1 = 10.0
): 200 USDx2 = 1.0
): 2000 USDLinear Interpolation Formula:
m = (2000 - 200) / (1 - 10) = -200
b = 200 + 2000 = 2200
y = -200 * 5 + 2200 = 1000 USD
Result: Bob earns 1000 USD.
How to Prove Completion?
To claim a bounty, contributors must follow these steps:
Submit a PR: When submitting a Pull Request to the target project repository(Besu/Erigon/Geth/Nethermind/Reth), clearly state that the optimization is intended for a specific testcase in this bounty. This ensures the changes are targeted and not incidental.
Notify After PR Merge: Once the PR is merged and included in the latest release version of the client, notify us in this issue.
Verify Performance: I will review the latest results on arewefastyet to verify if the score is below 10.
Edge Cases:
Multiple Contributors: If multiple optimizations for a single testcase are included in one version, the bounty will be shared. The distribution of the bounty will be determined at our discretion.
Unclaimed Optimization: If no one claims an optimization but a testcase scores below 10.0 after a new version, the reward will typically be voided. However, I will review the commit history to determine if there indeed was an unintentional optimization by a developer, and if so, I will attempt to contact this guy to claim the reward.
Issue Closure:
This issue will close after six months or once all 7 testcases are optimized, whichever occurs first.
As this is our first time hosting a bounty, there may be unforeseen oversights. Therefore, the final interpretation of the rules and decisions related to this bounty remains at our discretion.
Footnotes
More background? Here: https://devlog.fusionist.io/posts/are-we-fast-yet/ ↩
The bounty will be paid in ACE, the native token of the Endurance network, equivalent to the USD amount, and transferred to the wallet address provided by the recipient. ↩
The text was updated successfully, but these errors were encountered: