diff options
author | 2022-07-05 08:59:19 +0000 | |
---|---|---|
committer | 2022-07-13 10:25:14 +0000 | |
commit | 7a2bd0fb4a3f3db8f9812f8c2c340f085dfd9fd2 (patch) | |
tree | 290f361dfba5148bc5c133c791757a1401c56fd2 | |
parent | a82115dc12e59efa51bc93a6baae8438becf1cf6 (diff) |
Fix CharsetUtf8PerfTest.
The test performed a lot of repetitions of the same append call with a buffer that kept being extended which resulted in OOM errors, but now we use a new buffer each time.
Test: atest CharsetUtf8PerfTest
Bug: 235455275
Change-Id: I10427d315a6d0b45394c74d0c8642f0c085ceb07
-rw-r--r-- | apct-tests/perftests/core/src/android/libcore/regression/CharsetUtf8PerfTest.java | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/apct-tests/perftests/core/src/android/libcore/regression/CharsetUtf8PerfTest.java b/apct-tests/perftests/core/src/android/libcore/regression/CharsetUtf8PerfTest.java index f31e9c154f15..b753006e193e 100644 --- a/apct-tests/perftests/core/src/android/libcore/regression/CharsetUtf8PerfTest.java +++ b/apct-tests/perftests/core/src/android/libcore/regression/CharsetUtf8PerfTest.java @@ -37,9 +37,7 @@ import java.nio.charset.Charset; public class CharsetUtf8PerfTest { @Rule public PerfStatusReporter mPerfStatusReporter = new PerfStatusReporter(); - private final int mNoOfBytes = 0x100; // 4MB - - private void makeUnicodeRange(int startingCodePoint, int endingCodePoint, int repeated) { + private void makeUnicodeRange(int startingCodePoint, int endingCodePoint) { StringBuilder builder = new StringBuilder(); for (int codePoint = startingCodePoint; codePoint <= endingCodePoint; codePoint++) { if (codePoint < Character.MIN_SURROGATE || codePoint > Character.MAX_SURROGATE) { @@ -48,35 +46,30 @@ public class CharsetUtf8PerfTest { } String str = builder.toString(); - StringBuilder builder2 = new StringBuilder(); BenchmarkState state = mPerfStatusReporter.getBenchmarkState(); while (state.keepRunning()) { - for (int i = 0; i < repeated; i++) { - builder2.append(str); - } + StringBuilder builder2 = new StringBuilder(); + builder2.append(str); } } @Test public void time_ascii() { - makeUnicodeRange(0, 0x7f, mNoOfBytes / 0x80); + makeUnicodeRange(0, 0x7f); } @Test public void time_bmp2() { - makeUnicodeRange(0x0080, 0x07ff, mNoOfBytes / 2 / 0x780); + makeUnicodeRange(0x0080, 0x07ff); } @Test public void time_bmp3() { - makeUnicodeRange( - 0x0800, - 0xffff, - mNoOfBytes / 3 / 0xf000 /* 0x10000 - 0x0800 - no of surrogate code points */); + makeUnicodeRange(0x0800, 0xffff); } @Test public void time_supplementary() { - makeUnicodeRange(0x10000, 0x10ffff, mNoOfBytes / 4 / 0x100000); + makeUnicodeRange(0x10000, 0x10ffff); } } |