-
Notifications
You must be signed in to change notification settings - Fork 1.7k
incremental compiler should be able to initialize it's state from a previously generated dill file #31691
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
Comments
The "byte store functionality for IKG" is an implementation detail. It's not a bug to not have it. It's not even a feature you would wish for. I think the issue here is something like, "initial hot reload should have the same latency as subsequent reloads", or something like that. Does that seem right? If so, let's change the name of this issue. You shouldn't assume that we know the what |
No, performance of hot reload is different matter since that happens while frontend [server] remains resident in the memory. Here we talk about repeated launches of new instances of frontend [server].
Okay, easiest way to reproduce this is (given that you set up Flutter by following https://flutter.io/getting-started/) to build bundled |
A small comment on the above: Having just tried the flutter build flx thing, it is true that without --preview-dart-2 it's faster the second time than the first time, but only if there's no changes to the source files. Changing a single file gets the runtime back on line with the initial runtime. |
flutter build
should be incremental
@jensjoha I don't understand what you mean by 'it is faster the second time than the first time, but only if there are no changes to the source file'. The use case that this issue was created to address was the following scenario
We are trying to address this discrepancy between the first reload and second reload by stating that the front end should be able to populate the state by reading the dill file that has already been produced in the build step. Please do not confuse this with how the system works in the dart 1.0 world, the implementation mechanism is different and there is a limitation we currently have with the first reload . |
Thank you for providing the actual scenario. That's new information. The previously stated information was that doing
the second run should be faster than the first run. My comment was that doing
(i.e. without
(i.e. changing a single file) and the second invocation of To me it seemed from the comment
that the second build always being faster was the current behavior (i.e. without I do have a question in regards to the scenario though: Why would you do a |
The issue is not just running 'flutter build' and following it up with 'flutter run'. The idea here is that the incremental kernel compiler should be able to initialize it's state by I will rename this bug so that this is communicated clearly |
flutter build
should be incremental
Changing this to P1 as this is becoming an issue when we do 'flutter run' in strong mode, we see errors/warnings twice on the console, once from the build step and once from the run step. |
reopening this issue to track completing the loop by having flutter tools use this feature in the build/run cycle. |
This was added in flutter/engine#4642. |
I believe that was that, thanks @jensjoha . Closing this. |
IKG used to be able to persist its state on the disk in file byte store, which sped up
flutter debug
/flutter run
Flutter development cycle.That ability was [temporarily] lost with introduction of "Minimal" IKG, this bug is to track bringing that functionality back.
The text was updated successfully, but these errors were encountered: