-
Notifications
You must be signed in to change notification settings - Fork 5.7k
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
Via IR bytecode comparison #14355
Via IR bytecode comparison #14355
Conversation
@@ -88,6 +88,7 @@ commands: | |||
steps: | |||
- run: | |||
name: Generate bytecode reports for the selected preset | |||
no_output_timeout: 30m |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately even after all that upfront work to get things working in parallel, it's pretty slow. Optimized via IR preset takes as long as 25 min on windows and on emscripten.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does no_output_timeout
do? Fail the step if the runtime exceeds 30 minutes? If so, then a 5 minute buffer for a job that takes 25 minutes is a little tight, no? Would it make sense to bump this a little bit; maybe 35 minutes?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah. But the default timeout is 10 min so I'm increasing it, not decreasing it :)
I think 30 min is fine. If it fails we can still increase it but we'll get a clear signal that things are getting out of hand. 25 min is actually way more than I expected. I'd prefer this to finish much sooner. If not for the fact that we're working on IR performance already, I'd suggest parallelizing things even more to improve it, rather than keep bumping the limit.
Timing, from the most recent run:
|
Also, we have a problem: I will investigate that on Monday. |
8a3963c
to
92816eb
Compare
f76c1d3
to
2554a58
Compare
6d7a1fd
to
d3884ee
Compare
With #14374 and one additional tweak the bytecode comparison finally passes. The tweak is basically that one of the tests triggers a The PR is now reviewable but I'll keep it as a draft until #14374 is merged because PRs with dependencies always confuse people :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
d3884ee
to
b0a99fd
Compare
Base PR was merged. This is now reviewable. @matheusaaguiar But since the PR is simple and you already reviewed and approved it, we can also just merge if you reapprove. |
# FIXME: These cases crash because of https://github.com/ethereum/solidity/issues/13583 | ||
rm ./*_bytecode_too_large_*.sol ./*_combined_too_large_*.sol |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
…g bytecode comparison due to a regex-related bug
…ore Standard JSON outputs even when present
b0a99fd
to
bccfcd4
Compare
@@ -88,6 +88,7 @@ commands: | |||
steps: | |||
- run: | |||
name: Generate bytecode reports for the selected preset | |||
no_output_timeout: 30m |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does no_output_timeout
do? Fail the step if the runtime exceeds 30 minutes? If so, then a 5 minute buffer for a job that takes 25 minutes is a little tight, no? Would it make sense to bump this a little bit; maybe 35 minutes?
Depends on #14354.Merged.Depends on #14374.
Fixes #13583.
This is the final PR for
--via-ir
bytecode comparison.