feat: add Riverpod adapter, async-chain support via FutureProvider, full DI CLI/bench integration, benchmarking, ascii performance graphs in markdown

This commit is contained in:
Sergey Penkovsky
2025-08-07 13:12:56 +03:00
parent f7a7ea4384
commit 590b876cf4
7 changed files with 173 additions and 8 deletions

View File

@@ -12,6 +12,7 @@ import 'package:benchmark_di/benchmarks/universal_chain_benchmark.dart';
import 'package:benchmark_di/benchmarks/universal_chain_async_benchmark.dart';
import 'package:benchmark_di/di_adapters/cherrypick_adapter.dart';
import 'package:benchmark_di/di_adapters/get_it_adapter.dart';
import 'package:benchmark_di/di_adapters/riverpod_adapter.dart';
/// Command-line interface (CLI) runner for benchmarks.
///
@@ -29,7 +30,11 @@ class BenchmarkCliRunner {
for (final c in config.chainCounts) {
for (final d in config.nestDepths) {
BenchmarkResult benchResult;
final di = config.di == 'getit' ? GetItAdapter() : CherrypickDIAdapter();
final di = config.di == 'getit'
? GetItAdapter()
: config.di == 'riverpod'
? RiverpodAdapter()
: CherrypickDIAdapter();
if (scenario == UniversalScenario.asyncChain) {
final benchAsync = UniversalChainAsyncBenchmark(di,
chainCount: c, nestingDepth: d, mode: mode,