mirror of
https://github.com/pese-git/cherrypick.git
synced 2026-01-23 21:13:35 +00:00
chore: fix current status, all implemented features and refactors
This commit is contained in:
@@ -89,6 +89,17 @@ class MyBenchmark extends BenchmarkBase with BenchmarkWithScope {
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
| Benchmark | Chain Count | Depth | Mean (us) | Median | Stddev | Min | Max | N | ΔRSS(KB) | ΔPeak(KB) | PeakRSS(KB) |
|
||||||
|
|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||
|
| RegisterSingleton | 10 | 5 | 24 | 45 | 22 | 2 | 45 | 2 | 0 | 0 | 199232 |
|
||||||
|
| ChainSingleton | 10 | 5 | 41 | 45 | 4 | 37 | 45 | 2 | 0 | 0 | 199296 |
|
||||||
|
| ChainFactory | 10 | 5 | 43 | 50 | 8 | 35 | 50 | 2 | 0 | 0 | 199296 |
|
||||||
|
| AsyncChain | 10 | 5 | 49 | 50 | 2 | 47 | 50 | 2 | 0 | 0 | 199344 |
|
||||||
|
| Named | 10 | 5 | 1 | 1 | 0 | 1 | 1 | 2 | 0 | 0 | 199344 |
|
||||||
|
| Override | 10 | 5 | 2 | 2 | 1 | 1 | 2 | 2 | 0 | 0 | 199360 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Лицензия
|
## Лицензия
|
||||||
|
|
||||||
MIT
|
MIT
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
|
import 'package:benchmark_cherrypick/cli/report/markdown_report.dart';
|
||||||
|
|
||||||
import '../scenarios/universal_chain_module.dart';
|
import '../scenarios/universal_chain_module.dart';
|
||||||
import 'report/pretty_report.dart';
|
import 'report/pretty_report.dart';
|
||||||
import 'report/csv_report.dart';
|
import 'report/csv_report.dart';
|
||||||
@@ -70,6 +72,7 @@ class BenchmarkCliRunner {
|
|||||||
'pretty': PrettyReport(),
|
'pretty': PrettyReport(),
|
||||||
'csv': CsvReport(),
|
'csv': CsvReport(),
|
||||||
'json': JsonReport(),
|
'json': JsonReport(),
|
||||||
|
'markdown': MarkdownReport(),
|
||||||
};
|
};
|
||||||
print(reportGenerators[config.format]?.render(results) ?? PrettyReport().render(results));
|
print(reportGenerators[config.format]?.render(results) ?? PrettyReport().render(results));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,10 +6,39 @@ class PrettyReport extends ReportGenerator {
|
|||||||
'benchmark','chainCount','nestingDepth','mean_us','median_us','stddev_us',
|
'benchmark','chainCount','nestingDepth','mean_us','median_us','stddev_us',
|
||||||
'min_us','max_us','trials','memory_diff_kb','delta_peak_kb','peak_rss_kb'
|
'min_us','max_us','trials','memory_diff_kb','delta_peak_kb','peak_rss_kb'
|
||||||
];
|
];
|
||||||
|
|
||||||
|
static const nameMap = {
|
||||||
|
'Universal_UniversalBenchmark.registerSingleton': 'RegisterSingleton',
|
||||||
|
'Universal_UniversalBenchmark.chainSingleton': 'ChainSingleton',
|
||||||
|
'Universal_UniversalBenchmark.chainFactory': 'ChainFactory',
|
||||||
|
'Universal_UniversalBenchmark.chainAsync': 'AsyncChain',
|
||||||
|
'Universal_UniversalBenchmark.named': 'Named',
|
||||||
|
'Universal_UniversalBenchmark.override': 'Override',
|
||||||
|
};
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String render(List<Map<String, dynamic>> rows) {
|
String render(List<Map<String, dynamic>> rows) {
|
||||||
final header = keys.join('\t');
|
final headers = [
|
||||||
final lines = rows.map((r) => keys.map((k) => (r[k] ?? '').toString()).join('\t')).toList();
|
'Benchmark', 'Chain Count', 'Depth', 'Mean (us)', 'Median', 'Stddev', 'Min', 'Max', 'N', 'ΔRSS(KB)', 'ΔPeak(KB)', 'PeakRSS(KB)'
|
||||||
|
];
|
||||||
|
final header = headers.join('\t');
|
||||||
|
final lines = rows.map((r) {
|
||||||
|
final readableName = nameMap[r['benchmark']] ?? r['benchmark'];
|
||||||
|
return [
|
||||||
|
readableName,
|
||||||
|
r['chainCount'],
|
||||||
|
r['nestingDepth'],
|
||||||
|
r['mean_us'],
|
||||||
|
r['median_us'],
|
||||||
|
r['stddev_us'],
|
||||||
|
r['min_us'],
|
||||||
|
r['max_us'],
|
||||||
|
r['trials'],
|
||||||
|
r['memory_diff_kb'],
|
||||||
|
r['delta_peak_kb'],
|
||||||
|
r['peak_rss_kb'],
|
||||||
|
].join('\t');
|
||||||
|
}).toList();
|
||||||
return ([header] + lines).join('\n');
|
return ([header] + lines).join('\n');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user