Skip to content
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

Reduce fuzzing time to 15m #370

Closed
wants to merge 1 commit into from
Closed

Reduce fuzzing time to 15m #370

wants to merge 1 commit into from

Conversation

Rigidity
Copy link
Contributor

@Rigidity Rigidity commented Feb 2, 2024

No description provided.

Copy link

Pull Request Test Coverage Report for Build 7760275108

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 93.6%

Totals Coverage Status
Change from base Build 7760070753: 0.0%
Covered Lines: 5221
Relevant Lines: 5578

💛 - Coveralls

@arvidn
Copy link
Contributor

arvidn commented Feb 3, 2024

that time is specified in seconds. you're changing it from 30 seconds to 15 seconds.

@arvidn
Copy link
Contributor

arvidn commented Feb 3, 2024

The breakdown of the build time is (this is the build + fuzz stage, that takes 36 minutes):

2024-02-02T18:53:43.5408030Z     Finished dev [unoptimized + debuginfo] target(s) in 41.26s
2024-02-02T18:54:32.5990780Z     Finished release [optimized] target(s) in 48.94s
2024-02-02T18:55:00.4396890Z     Finished dev [unoptimized + debuginfo] target(s) in 27.67s
2024-02-02T19:01:10.2542690Z     Finished release [optimized + debuginfo] target(s) in 5m 37s
2024-02-02T19:01:10.6255990Z     Finished release [optimized + debuginfo] target(s) in 0.22s
2024-02-02T19:05:05.8893510Z     Finished release [optimized + debuginfo] target(s) in 3m 38s
2024-02-02T19:05:06.1808120Z     Finished release [optimized + debuginfo] target(s) in 0.18s
2024-02-02T19:08:56.5548170Z     Finished release [optimized + debuginfo] target(s) in 3m 34s
2024-02-02T19:08:56.8921770Z     Finished release [optimized + debuginfo] target(s) in 0.22s
2024-02-02T19:12:49.2487930Z     Finished release [optimized + debuginfo] target(s) in 3m 36s
2024-02-02T19:12:49.5357490Z     Finished release [optimized + debuginfo] target(s) in 0.18s
2024-02-02T19:16:56.6101400Z     Finished release [optimized + debuginfo] target(s) in 3m 50s
2024-02-02T19:16:56.9839690Z     Finished release [optimized + debuginfo] target(s) in 0.19s
2024-02-02T19:20:42.3243430Z     Finished release [optimized + debuginfo] target(s) in 3m 09s
2024-02-02T19:20:42.4907660Z     Finished release [optimized + debuginfo] target(s) in 0.10s
2024-02-02T19:24:06.7487540Z     Finished release [optimized + debuginfo] target(s) in 3m 07s
2024-02-02T19:24:06.9294390Z     Finished release [optimized + debuginfo] target(s) in 0.11s
2024-02-02T19:27:45.9439470Z     Finished release [optimized + debuginfo] target(s) in 3m 22s
2024-02-02T19:27:46.1393640Z     Finished release [optimized + debuginfo] target(s) in 0.12s
2024-02-02T19:32:02.6431800Z     Finished release [optimized + debuginfo] target(s) in 4m 00s
2024-02-02T19:32:02.8577660Z     Finished release [optimized + debuginfo] target(s) in 0.13s

My guess is that the build time for each fuzz target is dominated by link time, and probably exacerbated by the fact that we use LTO. In my last attempt to make this go faster I switched from full LTO to thin LTO, which made a noticeable difference.

We probably want LTO enabled for our production builds, but maybe we should add a profile where we disable it just for the fuzzers.

@Rigidity Rigidity closed this Feb 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants