Skip to content
Commit c68d8124 authored by Patrick Baumann's avatar Patrick Baumann
Browse files

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
parent 9f15ba2e
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment