Files
frameworks_base/core/java/android/util
Kweku Adams 4049d0fd9c Improve forEach.
The default implementation of Collection.forEach() uses the
iterator(). Switch to a simple for loop iterating through the array
since the iterator is an inefficient way to access the array contents.

Benchmark results:

Before:

android.util.ArrayMapPerfTest#testForEach_Large:
	forEach_Large_min (ns): 599759
	forEach_Large_median (ns): 655845
	forEach_Large_mean (ns): 636927
	forEach_Large_standardDeviation: 34373
android.util.ArrayMapPerfTest#testForEach_Small:
	forEach_Small_min (ns): 118822
	forEach_Small_median (ns): 121422
	forEach_Small_mean (ns): 121695
	forEach_Small_standardDeviation: 2079

After:

android.util.ArrayMapPerfTest#testForEach_Large:
	forEach_Large_min (ns): 403562
	forEach_Large_median (ns): 441364
	forEach_Large_mean (ns): 442301
	forEach_Large_standardDeviation: 24917
android.util.ArrayMapPerfTest#testForEach_Small:
	forEach_Small_min (ns): 81889
	forEach_Small_median (ns): 87889
	forEach_Small_mean (ns): 86905
	forEach_Small_standardDeviation: 2880

Bug: 194098491
Test: atest CorePerfTests:ArrayMapPerfTest (see results above)
Test: atest CtsUtilTestCases:ArrayMapTest
Test: atest FrameworksCoreTests:ArrayMapTest
Change-Id: Id528fe24f1d17af01a2d639753d42e2ad21144d2
2021-08-11 08:36:48 -07:00
..
…
2021-08-11 08:36:48 -07:00
2021-07-19 13:10:23 -07:00
…
…
…
…
…
…
…