summaryrefslogtreecommitdiff
path: root/tools/aapt2/java/JavaClassGenerator_test.cpp
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2020-04-06 14:07:21 -0600
committerJeff Sharkey <jsharkey@android.com>2020-04-06 17:34:22 -0600
commit5fae035ac5efe6436d7ea5b83152454e298b677d (patch)
treecb31c367212de453bae43bd5986604d2da2be55c /tools/aapt2/java/JavaClassGenerator_test.cpp
parent2328849cc6e037177b4eb61f18c5f7529f5ab703 (diff)
Additional notification performance improvements.
The initial design that accepted a Collection<Uri> for notifyChange() simply looped over the collection once inside the system_server, which was offered a great initial performance improvement. However, there were still inefficiencies in how we validated ContentProvider access, dispatched sync adapter changes, and invalidated internal caches. This change optimizes those operations by performing them only once per (authority, userId) tuple, and by caching the getProviderPackageName() answer. Local tests show that this change roughly doubles the speed. Before this CL: notifyInsert count=50 duration=5958061219ns average=119ms notifyUpdate count=50 duration=5696640780ns average=113ms notifyDelete count=50 duration=4344581840ns average=86ms After this CL: notifyInsert count=50 duration=3287114546ns average=65ms notifyUpdate count=50 duration=3103146196ns average=62ms notifyDelete count=50 duration=2033265671ns average=40ms Bug: 144464323 Test: atest CtsDatabaseTestCases Test: atest CtsContentTestCases:android.content.cts.ContentResolverTest Test: atest FrameworksServicesTests:com.android.server.content.ObserverNodeTest Test: atest com.android.providers.media.client.PerformanceTest#testBulk Change-Id: Idfda019fcc123ee7118b1856a8ff7332a17b5ef9
Diffstat (limited to 'tools/aapt2/java/JavaClassGenerator_test.cpp')
0 files changed, 0 insertions, 0 deletions