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

Commit 378383c2 authored by Shai Barack's avatar Shai Barack
Browse files

Periodically GC and finalize during Collators alloc test.

Bug: 394961590
Flag: EXEMPT benchmarks
Change-Id: I826dee7014f8fd3eb6698b5ad0183e29adf10b75
parent f757160b
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();
            }
        }
    }