fn feature_resolver(c: &mut Criterion) {
    setup();
    let mut group = c.benchmark_group("feature_resolver");
    for (ws_name, ws_root) in workspaces() {
        let config = make_config(&ws_root);
        let mut lazy_info = None;
        group.bench_function(&ws_name, |b| {
            let ResolveInfo {
                ws,
                requested_kinds,
                target_data,
                cli_features,
                specs,
                has_dev_units,
                ws_resolve,
                ..
            } = lazy_info.get_or_insert_with(|| do_resolve(&config, &ws_root));
            b.iter(|| {
                let feature_opts = FeatureOpts::new_behavior(ResolveBehavior::V2, *has_dev_units);
                FeatureResolver::resolve(
                    ws,
                    target_data,
                    &ws_resolve.targeted_resolve,
                    &ws_resolve.pkg_set,
                    cli_features,
                    specs,
                    requested_kinds,
                    feature_opts,
                )
                .unwrap();
            })
        });
    }
    group.finish();
}
/// Benchmark of the feature resolver.
Benchmark of the feature resolver.
Benchmark of the feature resolver .
fn feature_resolver(c: &mut Criterion) {
    setup();
    let mut group = c.benchmark_group("feature_resolver");
    for (ws_name, ws_root) in workspaces() {
        let config = make_config(&ws_root);
        let mut lazy_info = None;
        group.bench_function(&ws_name, |b| {
            let ResolveInfo {
                ws,
                requested_kinds,
                target_data,
                cli_features,
                specs,
                has_dev_units,
                ws_resolve,
                ..
            } = lazy_info.get_or_insert_with(|| do_resolve(&config, &ws_root));
            b.iter(|| {
                let feature_opts = FeatureOpts::new_behavior(ResolveBehavior::V2, *has_dev_units);
                FeatureResolver::resolve(
                    ws,
                    target_data,
                    &ws_resolve.targeted_resolve,
                    &ws_resolve.pkg_set,
                    cli_features,
                    specs,
                    requested_kinds,
                    feature_opts,
                )
                .unwrap();
            })
        });
    }
    group.finish();
}
fn feature_resolver ( c : & mut Criterion ) { setup ( ) ; let mut group = c . benchmark_group ( " " ) ; for ( ws_name , ws_root ) in workspaces ( ) { let config = make_config ( & ws_root ) ; let mut lazy_info = None ; group . bench_function ( & ws_name , | b | { let ResolveInfo { ws , requested_kinds , target_data , cli_features , specs , has_dev_units , ws_resolve , .. } = lazy_info . get_or_insert_with ( | | do_resolve ( & config , & ws_root ) ) ; b . iter ( | | { let feature_opts = FeatureOpts :: new_behavior ( ResolveBehavior :: V2 , * has_dev_units ) ; FeatureResolver :: resolve ( ws , target_data , & ws_resolve . targeted_resolve , & ws_resolve . pkg_set , cli_features , specs , requested_kinds , feature_opts , ) . unwrap ( ) ; } ) } ) ; } group . finish ( ) ; }
Benchmark of the feature resolver.
Benchmark of the feature resolver .
c
&mut Criterion
c
&mut Criterion