summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Miguel <miguelaranda@google.com> 2022-07-05 08:59:19 +0000
committer Miguel Aranda <miguelaranda@google.com> 2022-07-13 10:25:14 +0000
commit7a2bd0fb4a3f3db8f9812f8c2c340f085dfd9fd2 (patch)
tree290f361dfba5148bc5c133c791757a1401c56fd2
parenta82115dc12e59efa51bc93a6baae8438becf1cf6 (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.java21
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);
}
}