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.
Added Macrobenchmark module.
Added basic Macrobenchmark baseline profile generator for startup speed improvement & sample generated baseline profile file itself.
Disabled Venom due to a problem with resolving its dependency by benchmark module
Running Macrobenchmark tests requires a real device.
Benchmark app startup results with different startup modes (cold, warm, hot) and compilation modes (partial with baseline profile, no compilation, full compilation, partial compilation without baseline profile):
The most representative is a comparison between the partial with baseline profile and partial compilation without baseline profile. The full pre-compilation represents the best possible performance which is available in 21 to 23 API levels by default. The no compilation mode represents the worst-case scenario which is not very realistic but gives the idea of how partial pre-compilation with baseline profile affects performance by itself.
Before library update and with only 10 tests iterations