lazy compilation for .NET targets (beta-3.0) #487
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
appveyor: use -DLAZY when testing the dotnet target
We want to make sure this feature keeps on working. This is the first
iteration and more updates are expected.
engine: lazy compilation for .NET targets
Pass -DLAZY to "uno build" to enable lazy compilation (experimental).
We've seen around 10x[1] speed-up on subsequent builds of a normal app
when lazy compilation is enabled, since there is minimal work to do
when most of the code is already built.
The feature is experimental for now, but we might want to take
advantage of this (e.g. in the Fuse X editor) when the feature
matures a bit more, to speed up loading times in a significant way
by prebuilding standard libraries (including Fuselibs), and better
caching.
1: More or less, depending on project size
compiler: support lazy compilation
This modifies the compiler to only compile something when it is needed
and not compiled before, rather than always compiling everything,
significantly speeding up compilation time when enabled.