-
Notifications
You must be signed in to change notification settings - Fork 210
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
Scalable builds #3811
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Going back to this: This could be because If |
The performance issue I'm looking at is just due to the deps graph, it's nothing to do with what the generator does. When you look at the CPU flame charts of the large benchmarks, the generator barely shows up. Once that's solved--yes, I think there's a possibility of handling ASTs better/faster, we'd have to compare :) thanks. |
The benchmark I'm adding in #3802 shows the problem pretty clearly,
notice the incremental build time for 500 libraries and 1000 libraries: it increases from 35s to 119s, an increase of x3.4. For double the number of libraries the time increase should be x2 :)
The benchmark also runs for
built_value
,freezed
andmockito
, numbers on the PR, the story is pretty similar, except:built_value
andjson_serializable
are about 2x as slow asfreezed
on the big build, it turns out this is purely because they use shared parts, filed Faster shared parts #3803 for that sub-problemmockito
is about 2x as fast asfreezed
, I believe that is because mockito adds a part file to the test where it does not become a dep of all the other generators; converselybuilt_value
,json_serializable
andfreezed
all add part files in the app code, doubling the number of deps of all the generatorsApart from these multipliers the numbers are very similar, I think it does not matter much what the generators are actually doing.
The text was updated successfully, but these errors were encountered: