cellxBench function
Implementation
void cellxBench(ReactiveFramework framework) {
const expected = <int, _BenchmarkResults>{
1000: ([-3, -6, -2, 2], [-2, -4, 2, 3]),
2500: ([-3, -6, -2, 2], [-2, -4, 2, 3]),
5000: ([2, 4, -1, -6], [-2, 1, -4, -4]),
};
final results = <int, _BenchmarkResults>{};
for (final layers in expected.keys) {
int total = 0;
for (int i = 0; i < 10; i++) {
final (elapsed, before, after) = _cellx(framework, layers);
results[layers] = (before, after);
total += elapsed;
}
final (before, after) = results[layers]!;
final (expectedBefore, expectedAfter) = expected[layers]!;
final first =
_listEqual(before, expectedBefore) ? 'first: pass' : 'first: fail';
final last = _listEqual(after, expectedAfter) ? 'last: pass' : 'last: fail';
logPerfResult(PerfRowStrings(
framework: framework.name,
test: 'cellx$layers ($first, $last)',
time: total.toString(),
));
}
}