printSummery method
Implementation
Future<void> printSummery() async {
final len = benches.length;
ansiColorDisabled = false;
AnsiPen greenPen = AnsiPen()..xterm(option.emphasisAnsiColor);
if (len > 1) {
debugPrint(
TextUtil.addHyphen('summary ', option.maxLineCharNum),
);
debugPrint('⭐: ${greenPen(benches.first.name)} is the fastest!');
for (int i = 1; i < len; i++) {
final benchText =
(benches[i].average / benches.first.average).toStringAsFixed(2);
debugPrint(
' ${greenPen(benchText)} x faster than ${greenPen(benches[i].name)}');
}
debugPrint('');
debugPrint(
TextUtil.addHyphen('📊: bar chart ', option.maxLineCharNum),
);
for (int i = 0; i < len; i++) {
final name = TextUtil.align(
benches[i].name, (option.maxLineCharNum / 3).floor());
final barVal = 1 / (benches.last.average / benches[i].average);
final bar =
List.filled((option.maxLineCharNum * (2 / 3) * barVal).floor(), ' ')
.join();
ansiColorDisabled = false;
AnsiPen greenBg = AnsiPen()..xterm(option.barAnsiColor, bg: true);
debugPrint('$name${greenBg(bar)}');
}
debugPrint(
TextUtil.addHyphen('\n', option.maxLineCharNum),
);
}
}