Format benchmarks/.

Change-Id: I1362ada67a02b0ed352612fc29c727e94d8cd254
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/394901
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
This commit is contained in:
Robert Nystrom
2024-11-18 10:06:01 +00:00
committed by Commit Queue
parent 54b3ca9ea0
commit e4c8b49dcc
106 changed files with 3873 additions and 2405 deletions
@@ -128,7 +128,7 @@ void check(String result, List<int> sequence) {
bytes0tag => targetSize,
bytes1tag => 7144,
bytes2tag => 5266,
_ => throw 'Unexpected sequence start: ${sequence[0]}'
_ => throw 'Unexpected sequence start: ${sequence[0]}',
};
Expect.equals(expectedLength, result.length);
}
@@ -136,13 +136,16 @@ void check(String result, List<int> sequence) {
/// Expands a sequence by repetition and padding to `targetSize` bytes.
Uint8List makeSequence(List<int> bytes) {
Expect.equals(
1,
bytes.length.gcd(chunkSize),
'Bad repeated size (${bytes.length}).'
' Repeated sequence should be co-prime with chunk size ($chunkSize)'
' to exercise more UTF-8 boundaries');
final repeats =
List.filled(targetSize ~/ bytes.length, bytes).expand((byte) => byte);
1,
bytes.length.gcd(chunkSize),
'Bad repeated size (${bytes.length}).'
' Repeated sequence should be co-prime with chunk size ($chunkSize)'
' to exercise more UTF-8 boundaries',
);
final repeats = List.filled(
targetSize ~/ bytes.length,
bytes,
).expand((byte) => byte);
final padding = List.filled(targetSize.remainder(bytes.length), 0); // NULs.
final sequence = Uint8List.fromList([...repeats, ...padding]);
Expect.equals(targetSize, sequence.length);
@@ -212,7 +215,8 @@ abstract class ChunkedBase extends Utf8DecodeBenchmarkBase {
void run() {
late final String result;
final byteSink = const Utf8Decoder().startChunkedConversion(
StringConversionSink.withCallback((s) => result = s));
StringConversionSink.withCallback((s) => result = s),
);
for (final chunk in chunks) {
byteSink.add(chunk);
@@ -263,11 +267,17 @@ void mainPoly() {
Simple('poly.simple.list.1byte.10k', List.of(sequence1)),
Simple('poly.simple.list.2byte.10k', List.of(sequence2)),
Simple(
'poly.simple.unmodifiable.ascii.10k', sequence0.asUnmodifiableView()),
'poly.simple.unmodifiable.ascii.10k',
sequence0.asUnmodifiableView(),
),
Simple(
'poly.simple.unmodifiable.1byte.10k', sequence1.asUnmodifiableView()),
'poly.simple.unmodifiable.1byte.10k',
sequence1.asUnmodifiableView(),
),
Simple(
'poly.simple.unmodifiable.2byte.10k', sequence2.asUnmodifiableView()),
'poly.simple.unmodifiable.2byte.10k',
sequence2.asUnmodifiableView(),
),
Chunked('poly.chunked.ascii.10k', sequence0),
Chunked('poly.chunked.1byte.10k', sequence1),
Chunked('poly.chunked.2byte.10k', sequence2),
@@ -275,11 +285,17 @@ void mainPoly() {
Chunked('poly.chunked.list.1byte.10k', List.of(sequence1)),
Chunked('poly.chunked.list.2byte.10k', List.of(sequence2)),
ChunkedUnmodifiable(
'poly.chunked.unmodifiable.ascii.10k', sequence0.asUnmodifiableView()),
'poly.chunked.unmodifiable.ascii.10k',
sequence0.asUnmodifiableView(),
),
ChunkedUnmodifiable(
'poly.chunked.unmodifiable.1byte.10k', sequence1.asUnmodifiableView()),
'poly.chunked.unmodifiable.1byte.10k',
sequence1.asUnmodifiableView(),
),
ChunkedUnmodifiable(
'poly.chunked.unmodifiable.2byte.10k', sequence2.asUnmodifiableView()),
'poly.chunked.unmodifiable.2byte.10k',
sequence2.asUnmodifiableView(),
),
];
runAll(benchmarks);
}
@@ -314,17 +330,29 @@ void mainMono3() {
// Monomorphic: All inputs are unmodifiable `Uint8List`s.
final benchmarks = [
Simple(
'mono.simple.unmodifiable.ascii.10k', sequence0.asUnmodifiableView()),
'mono.simple.unmodifiable.ascii.10k',
sequence0.asUnmodifiableView(),
),
Simple(
'mono.simple.unmodifiable.1byte.10k', sequence1.asUnmodifiableView()),
'mono.simple.unmodifiable.1byte.10k',
sequence1.asUnmodifiableView(),
),
Simple(
'mono.simple.unmodifiable.2byte.10k', sequence2.asUnmodifiableView()),
'mono.simple.unmodifiable.2byte.10k',
sequence2.asUnmodifiableView(),
),
ChunkedUnmodifiable(
'mono.chunked.unmodifiable.ascii.10k', sequence0.asUnmodifiableView()),
'mono.chunked.unmodifiable.ascii.10k',
sequence0.asUnmodifiableView(),
),
ChunkedUnmodifiable(
'mono.chunked.unmodifiable.1byte.10k', sequence1.asUnmodifiableView()),
'mono.chunked.unmodifiable.1byte.10k',
sequence1.asUnmodifiableView(),
),
ChunkedUnmodifiable(
'mono.chunked.unmodifiable.2byte.10k', sequence2.asUnmodifiableView()),
'mono.chunked.unmodifiable.2byte.10k',
sequence2.asUnmodifiableView(),
),
];
runAll(benchmarks);
}