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

Added baseline profile #57

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Added baseline profile #57

wants to merge 2 commits into from

Conversation

Akucuki
Copy link
Collaborator

@Akucuki Akucuki commented Sep 9, 2022

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):

Screenshot from 2022-09-16 17-13-02
Screenshot from 2022-09-16 17-20-41
Screenshot from 2022-09-16 13-57-26

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

image
image
image

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.

None yet

1 participant