diff options
author | 2025-02-12 04:53:05 -0800 | |
---|---|---|
committer | 2025-02-12 04:53:05 -0800 | |
commit | 8d6fd6ea5beb4c48a796834afbc0e198df2ef4dc (patch) | |
tree | 91a8d5c0b9a0e74fb249a650bbe7077bb9e500b2 | |
parent | fa086ff09300e5c62e25054f6503650b5fa6fff9 (diff) | |
parent | e849eae9a5b2339dc164c25d442bb793375e9b76 (diff) |
Merge "Periodically GC and finalize during Collators alloc test." into main
-rw-r--r-- | apct-tests/perftests/core/src/android/libcore/regression/ExpensiveObjectsPerfTest.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/apct-tests/perftests/core/src/android/libcore/regression/ExpensiveObjectsPerfTest.java b/apct-tests/perftests/core/src/android/libcore/regression/ExpensiveObjectsPerfTest.java index ecbfc7169945..10ec2bfcb49a 100644 --- a/apct-tests/perftests/core/src/android/libcore/regression/ExpensiveObjectsPerfTest.java +++ b/apct-tests/perftests/core/src/android/libcore/regression/ExpensiveObjectsPerfTest.java @@ -75,8 +75,19 @@ public class ExpensiveObjectsPerfTest { @Test(timeout = 900000) public void timeNewCollator() { BenchmarkState state = mPerfStatusReporter.getBenchmarkState(); + int i = 0; while (state.keepRunning()) { Collator.getInstance(Locale.US); + + if (++i % 1000 == 0) { + state.pauseTiming(); + // GC and finalize occasionally to avoid GC for alloc and/or + // blocking on finalization during benchmark time. + // See: b/394961590 + System.gc(); + System.runFinalization(); + state.resumeTiming(); + } } } @@ -84,8 +95,19 @@ public class ExpensiveObjectsPerfTest { public void timeClonedCollator() { Collator c = Collator.getInstance(Locale.US); BenchmarkState state = mPerfStatusReporter.getBenchmarkState(); + int i = 0; while (state.keepRunning()) { c.clone(); + + if (++i % 1000 == 0) { + state.pauseTiming(); + // GC and finalize occasionally to avoid GC for alloc and/or + // blocking on finalization during benchmark time. + // See: b/394961590 + System.gc(); + System.runFinalization(); + state.resumeTiming(); + } } } |