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 Test: atest AppEnumerationTests AppsFilterTest PackageManagerPerfTests Fixes: 150405193 Change-Id: I3fb7d7cf8b98c7623caf04544523f1bbd07d1795 Merged-In: I3fb7d7cf8b98c7623caf04544523f1bbd07d1795
Loading
Please register or sign in to comment