Migrate ListCopy benchmark to null safety, clean up lints

Change-Id: Id7b8b64727e08ad1a5ab0bec7ad692ec64fa3848
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152329
Reviewed-by: Martin Kustermann <kustermann@google.com>
This commit is contained in:
William Hesse 2020-06-25 15:28:54 +00:00
parent 4079c373c0
commit 095deb888f
2 changed files with 13 additions and 9 deletions

View file

@ -33,10 +33,11 @@ class Benchmark extends BenchmarkBase {
Benchmark(String name, this.length, this.copy)
: super('ListCopy.$name.$length');
@override
void setup() {
// Ensure setup() is idempotent.
if (inputs.isNotEmpty) return;
List<num> base = List.generate(length, (i) => i + 1);
final List<num> base = List.generate(length, (i) => i + 1);
List<Iterable<num>> makeVariants() {
return [
// Weight ordinary lists more.
@ -54,7 +55,7 @@ class Benchmark extends BenchmarkBase {
const elements = 10000;
int totalLength = 0;
while (totalLength < elements) {
var variants = makeVariants();
final variants = makeVariants();
inputs.addAll(variants);
totalLength +=
variants.fold<int>(0, (sum, iterable) => sum + iterable.length);
@ -69,6 +70,7 @@ class Benchmark extends BenchmarkBase {
}
}
@override
void run() {
for (var sample in inputs) {
input = sample;
@ -129,12 +131,12 @@ List<Benchmark> makeBenchmarks(int length) => [
output = <num>[...input];
}),
Benchmark('spread.int', length, () {
output = <int>[...input];
output = <int>[...input.cast<int>()];
}),
];
main() {
var benchmarks = [...makeBenchmarks(2), ...makeBenchmarks(100)];
void main() {
final benchmarks = [...makeBenchmarks(2), ...makeBenchmarks(100)];
// Warmup all benchmarks to ensure JIT compilers see full polymorphism.
for (var benchmark in benchmarks) {

View file

@ -33,10 +33,11 @@ class Benchmark extends BenchmarkBase {
Benchmark(String name, this.length, this.copy)
: super('ListCopy.$name.$length');
@override
void setup() {
// Ensure setup() is idempotent.
if (inputs.isNotEmpty) return;
List<num> base = List.generate(length, (i) => i + 1);
final List<num> base = List.generate(length, (i) => i + 1);
List<Iterable<num>> makeVariants() {
return [
// Weight ordinary lists more.
@ -54,7 +55,7 @@ class Benchmark extends BenchmarkBase {
const elements = 10000;
int totalLength = 0;
while (totalLength < elements) {
var variants = makeVariants();
final variants = makeVariants();
inputs.addAll(variants);
totalLength +=
variants.fold<int>(0, (sum, iterable) => sum + iterable.length);
@ -69,6 +70,7 @@ class Benchmark extends BenchmarkBase {
}
}
@override
void run() {
for (var sample in inputs) {
input = sample;
@ -133,8 +135,8 @@ List<Benchmark> makeBenchmarks(int length) => [
}),
];
main() {
var benchmarks = [...makeBenchmarks(2), ...makeBenchmarks(100)];
void main() {
final benchmarks = [...makeBenchmarks(2), ...makeBenchmarks(100)];
// Warmup all benchmarks to ensure JIT compilers see full polymorphism.
for (var benchmark in benchmarks) {