Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e849eae9 authored by Shai Barack's avatar Shai Barack Committed by Android Build Cherrypicker Worker
Browse files

Periodically GC and finalize during Collators alloc test.

Bug: 394961590
Flag: EXEMPT benchmarks
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:378383c2d6f6b29227ba0b8ace8a22a5d575918b)
Merged-In: I826dee7014f8fd3eb6698b5ad0183e29adf10b75
Change-Id: I826dee7014f8fd3eb6698b5ad0183e29adf10b75
parent fa086ff0
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -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();
            }
        }
    }