summaryrefslogtreecommitdiff
path: root/tools/aapt2/java/JavaClassGenerator_test.cpp
diff options
context:
space:
mode:
authorPatrick Baumann <patb@google.com>2020-05-27 16:39:45 -0700
committerAlex Buynytskyy <alexbuy@google.com>2020-06-15 17:33:49 -0700
commit2377f33aceae0c0e8b4c06c391653963fbb640dd (patch)
treed04f671777fd6c9de3c16b5d7c90ae14b4aed613 /tools/aapt2/java/JavaClassGenerator_test.cpp
parent88d54c764f952af0321112c243f8a44809588ff6 (diff)
Pre-cache filter results
This change adds a cache layer for the return of shouldFilterApplicationInternal in AppsFilter. This cuts most operations that rely on app filtering nearly in half by removing a good deal of branching that used to exist on the critical path for a crosshatch. Before this CL: android.os.PackageManagerPerfTest#testGetApplicationInfoWithFiltering: getApplicationInfoWithFiltering_mean: 983719 getApplicationInfoWithFiltering_standardDeviation: 120061 getApplicationInfoWithFiltering_median: 1061674 getApplicationInfoWithFiltering_min: 827489 android.multiuser.UserLifecycleTests#createAndStartUser: Mean (ms): 4243.10 After this CL: android.os.PackageManagerPerfTest#testGetApplicationInfoWithFiltering: getApplicationInfoWithFiltering_mean: 426340 getApplicationInfoWithFiltering_standardDeviation: 18861 getApplicationInfoWithFiltering_median: 427002 getApplicationInfoWithFiltering_min: 407887 android.multiuser.UserLifecycleTests#createAndStartUser: Mean (ms): 3387.25 Note: this is a 2nd attempt at this change that fixes a few from the previous at ag/11622391. This works with multi-user and updates tests to ensure this stays true. It also improves peformance when building the cache by pre-allocating the SparseBooleanArrays to their max sizes. Test: atest AppEnumerationTests AppsFilterTest PackageManagerPerfTests Fixes: 150405193 Change-Id: I6e0446068f46af0f22e0259ab7b6cdbbc7e08a22
Diffstat (limited to 'tools/aapt2/java/JavaClassGenerator_test.cpp')
0 files changed, 0 insertions, 0 deletions