summaryrefslogtreecommitdiff
path: root/core/java/android/util/SparseSetArray.java
diff options
context:
space:
mode:
authorKweku Adams <kwekua@google.com>2022-03-21 14:18:36 +0000
committerKweku Adams <kwekua@google.com>2022-03-21 14:23:05 +0000
commitfcea75f5200c96eff5c3a675fbb6d1c4253eda46 (patch)
treef89985a0d5e5e41bd2cb1c25bb3e9a907dd0d59b /core/java/android/util/SparseSetArray.java
parentc6c57cdef8b692f6585de7d75d6adaddb4a6dfba (diff)
Add new sorting mechanism.
Create a pending job sorting mechanism that is more like topological-sort. The new system sorts pending jobs for each individual app and then picks from each app's list based on the adjusted "enqueue" time to retain some fairness. This new sorting may result in an app's jobs being run more closely together (which helps reduce the number of separate process startups). Runtime changes (A=# of apps, J=average # jobs per app): Previous implementation New implementation Sorting: A*J*log(A*J) A*J*log(J) Insertion: log(A*J) log(A*J)+J Remove(Object): A*J log(A*J) Iteration: A*J A*J*log(A) Contains: A*J log(A*J) Bug: 141645789 Bug: 204924801 Bug: 223437753 Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/job Test: atest frameworks/base/services/tests/mockingservicestests/src/com/android/server/job Change-Id: Ie077c5ad1cd6c0bd4ff4a9f1e2f000ed99c048b0
Diffstat (limited to 'core/java/android/util/SparseSetArray.java')
0 files changed, 0 insertions, 0 deletions