mpstthree 0.1.16

A library implementing Multiparty Session Types for 2 or more participants
Documentation
#![allow(dead_code, clippy::type_complexity, clippy::too_many_arguments)]

use criterion::{criterion_group, criterion_main, Criterion};

mod mesh_all;

criterion_group! {
    name = mesh_full;
    config = Criterion::default().significance_level(0.1).sample_size(10000);
    targets =
        ////////// Benchmarks using basic functions with zero loops
        mesh_all::empty::mesh_two::mesh_protocol_mpst,
        mesh_all::empty::mesh_two::mesh_protocol_binary,
        mesh_all::empty::mesh_two::mesh_protocol_crossbeam,
        mesh_all::empty::mesh_three::mesh_protocol_mpst,
        mesh_all::empty::mesh_three::mesh_protocol_binary,
        mesh_all::empty::mesh_three::mesh_protocol_crossbeam,
        mesh_all::empty::mesh_four::mesh_protocol_mpst,
        mesh_all::empty::mesh_four::mesh_protocol_binary,
        mesh_all::empty::mesh_four::mesh_protocol_crossbeam,
        mesh_all::empty::mesh_five::mesh_protocol_mpst,
        mesh_all::empty::mesh_five::mesh_protocol_binary,
        mesh_all::empty::mesh_five::mesh_protocol_crossbeam,
        mesh_all::empty::mesh_six::mesh_protocol_mpst,
        mesh_all::empty::mesh_six::mesh_protocol_binary,
        mesh_all::empty::mesh_six::mesh_protocol_crossbeam,
        mesh_all::empty::mesh_seven::mesh_protocol_mpst,
        mesh_all::empty::mesh_seven::mesh_protocol_binary,
        mesh_all::empty::mesh_seven::mesh_protocol_crossbeam,
        mesh_all::empty::mesh_eight::mesh_protocol_mpst,
        mesh_all::empty::mesh_eight::mesh_protocol_binary,
        mesh_all::empty::mesh_eight::mesh_protocol_crossbeam,
        mesh_all::empty::mesh_nine::mesh_protocol_mpst,
        mesh_all::empty::mesh_nine::mesh_protocol_binary,
        mesh_all::empty::mesh_nine::mesh_protocol_crossbeam,
        mesh_all::empty::mesh_ten::mesh_protocol_mpst,
        mesh_all::empty::mesh_ten::mesh_protocol_binary,
        mesh_all::empty::mesh_ten::mesh_protocol_crossbeam,
        mesh_all::empty::mesh_eleven::mesh_protocol_mpst,
        mesh_all::empty::mesh_eleven::mesh_protocol_binary,
        mesh_all::empty::mesh_eleven::mesh_protocol_crossbeam,
        mesh_all::empty::mesh_twenty::mesh_protocol_mpst,
        mesh_all::empty::mesh_twenty::mesh_protocol_binary,
        mesh_all::empty::mesh_twenty::mesh_protocol_crossbeam,
        ////////// Benchmarks using basic functions with 100 loops
        mesh_all::normal::mesh_two::mesh_protocol_mpst,
        mesh_all::normal::mesh_two::mesh_protocol_binary,
        mesh_all::normal::mesh_two::mesh_protocol_crossbeam,
        mesh_all::normal::mesh_three::mesh_protocol_mpst,
        mesh_all::normal::mesh_three::mesh_protocol_binary,
        mesh_all::normal::mesh_three::mesh_protocol_crossbeam,
        mesh_all::normal::mesh_four::mesh_protocol_mpst,
        mesh_all::normal::mesh_four::mesh_protocol_binary,
        mesh_all::normal::mesh_four::mesh_protocol_crossbeam,
        mesh_all::normal::mesh_five::mesh_protocol_mpst,
        mesh_all::normal::mesh_five::mesh_protocol_binary,
        mesh_all::normal::mesh_five::mesh_protocol_crossbeam,
        mesh_all::normal::mesh_six::mesh_protocol_mpst,
        mesh_all::normal::mesh_six::mesh_protocol_binary,
        mesh_all::normal::mesh_six::mesh_protocol_crossbeam,
        mesh_all::normal::mesh_seven::mesh_protocol_mpst,
        mesh_all::normal::mesh_seven::mesh_protocol_binary,
        mesh_all::normal::mesh_seven::mesh_protocol_crossbeam,
        mesh_all::normal::mesh_eight::mesh_protocol_mpst,
        mesh_all::normal::mesh_eight::mesh_protocol_binary,
        mesh_all::normal::mesh_eight::mesh_protocol_crossbeam,
        mesh_all::normal::mesh_nine::mesh_protocol_mpst,
        mesh_all::normal::mesh_nine::mesh_protocol_binary,
        mesh_all::normal::mesh_nine::mesh_protocol_crossbeam,
        mesh_all::normal::mesh_ten::mesh_protocol_mpst,
        mesh_all::normal::mesh_ten::mesh_protocol_binary,
        mesh_all::normal::mesh_ten::mesh_protocol_crossbeam,
        mesh_all::normal::mesh_eleven::mesh_protocol_mpst,
        mesh_all::normal::mesh_eleven::mesh_protocol_binary,
        mesh_all::normal::mesh_eleven::mesh_protocol_crossbeam,
        mesh_all::normal::mesh_twenty::mesh_protocol_mpst,
        mesh_all::normal::mesh_twenty::mesh_protocol_binary,
        mesh_all::normal::mesh_twenty::mesh_protocol_crossbeam,
        ////////// Benchmarks using cancelling with a monitor to broadcast cancel with 100 loops
        mesh_all::cancel_broadcast::mesh_three::mesh_protocol_mpst,
        mesh_all::cancel_broadcast::mesh_four::mesh_protocol_mpst,
        mesh_all::cancel_broadcast::mesh_five::mesh_protocol_mpst,
        mesh_all::cancel_broadcast::mesh_six::mesh_protocol_mpst,
        mesh_all::cancel_broadcast::mesh_seven::mesh_protocol_mpst,
        mesh_all::cancel_broadcast::mesh_eight::mesh_protocol_mpst,
        mesh_all::cancel_broadcast::mesh_nine::mesh_protocol_mpst,
        mesh_all::cancel_broadcast::mesh_ten::mesh_protocol_mpst,
        mesh_all::cancel_broadcast::mesh_eleven::mesh_protocol_mpst,
        mesh_all::cancel_broadcast::mesh_twenty::mesh_protocol_mpst,
        ////////// Benchmarks using cancelling without a monitor to broadcast cancel using basic functions with 100 loops
        mesh_all::cancel::mesh_two::mesh_protocol_mpst,
        mesh_all::cancel::mesh_three::mesh_protocol_mpst,
        mesh_all::cancel::mesh_four::mesh_protocol_mpst,
        mesh_all::cancel::mesh_five::mesh_protocol_mpst,
        mesh_all::cancel::mesh_six::mesh_protocol_mpst,
        mesh_all::cancel::mesh_seven::mesh_protocol_mpst,
        mesh_all::cancel::mesh_eight::mesh_protocol_mpst,
        mesh_all::cancel::mesh_nine::mesh_protocol_mpst,
        mesh_all::cancel::mesh_ten::mesh_protocol_mpst,
        mesh_all::cancel::mesh_eleven::mesh_protocol_mpst,
        mesh_all::cancel::mesh_twenty::mesh_protocol_mpst,
        ////////// Benchmarks using cancelling without a monitor to broadcast cancel using generated methods with 100 loops
        mesh_all::baking_cancel::mesh_two::mesh_protocol_mpst,
        mesh_all::baking_cancel::mesh_two::mesh_protocol_binary,
        mesh_all::baking_cancel::mesh_two::mesh_protocol_crossbeam,
        mesh_all::baking_cancel::mesh_three::mesh_protocol_mpst,
        mesh_all::baking_cancel::mesh_three::mesh_protocol_binary,
        mesh_all::baking_cancel::mesh_three::mesh_protocol_crossbeam,
        mesh_all::baking_cancel::mesh_four::mesh_protocol_mpst,
        mesh_all::baking_cancel::mesh_four::mesh_protocol_binary,
        mesh_all::baking_cancel::mesh_four::mesh_protocol_crossbeam,
        mesh_all::baking_cancel::mesh_five::mesh_protocol_mpst,
        mesh_all::baking_cancel::mesh_five::mesh_protocol_binary,
        mesh_all::baking_cancel::mesh_five::mesh_protocol_crossbeam,
        mesh_all::baking_cancel::mesh_six::mesh_protocol_mpst,
        mesh_all::baking_cancel::mesh_six::mesh_protocol_binary,
        mesh_all::baking_cancel::mesh_six::mesh_protocol_crossbeam,
        mesh_all::baking_cancel::mesh_seven::mesh_protocol_mpst,
        mesh_all::baking_cancel::mesh_seven::mesh_protocol_binary,
        mesh_all::baking_cancel::mesh_seven::mesh_protocol_crossbeam,
        mesh_all::baking_cancel::mesh_eight::mesh_protocol_mpst,
        mesh_all::baking_cancel::mesh_eight::mesh_protocol_binary,
        mesh_all::baking_cancel::mesh_eight::mesh_protocol_crossbeam,
        mesh_all::baking_cancel::mesh_nine::mesh_protocol_mpst,
        mesh_all::baking_cancel::mesh_nine::mesh_protocol_binary,
        mesh_all::baking_cancel::mesh_nine::mesh_protocol_crossbeam,
        mesh_all::baking_cancel::mesh_ten::mesh_protocol_mpst,
        mesh_all::baking_cancel::mesh_ten::mesh_protocol_binary,
        mesh_all::baking_cancel::mesh_ten::mesh_protocol_crossbeam,
        mesh_all::baking_cancel::mesh_eleven::mesh_protocol_mpst,
        mesh_all::baking_cancel::mesh_eleven::mesh_protocol_binary,
        mesh_all::baking_cancel::mesh_eleven::mesh_protocol_crossbeam,
        mesh_all::baking_cancel::mesh_twenty::mesh_protocol_mpst,
        mesh_all::baking_cancel::mesh_twenty::mesh_protocol_binary,
        mesh_all::baking_cancel::mesh_twenty::mesh_protocol_crossbeam,
        ////////// Benchmarks using cancelling without a monitor to broadcast cancel using generated methods with inline compilation with 100 loops
        mesh_all::baking_cancel_inline::mesh_two::mesh_protocol_mpst,
        mesh_all::baking_cancel_inline::mesh_two::mesh_protocol_binary,
        mesh_all::baking_cancel_inline::mesh_two::mesh_protocol_crossbeam,
        mesh_all::baking_cancel_inline::mesh_three::mesh_protocol_mpst,
        mesh_all::baking_cancel_inline::mesh_three::mesh_protocol_binary,
        mesh_all::baking_cancel_inline::mesh_three::mesh_protocol_crossbeam,
        mesh_all::baking_cancel_inline::mesh_four::mesh_protocol_mpst,
        mesh_all::baking_cancel_inline::mesh_four::mesh_protocol_binary,
        mesh_all::baking_cancel_inline::mesh_four::mesh_protocol_crossbeam,
        mesh_all::baking_cancel_inline::mesh_five::mesh_protocol_mpst,
        mesh_all::baking_cancel_inline::mesh_five::mesh_protocol_binary,
        mesh_all::baking_cancel_inline::mesh_five::mesh_protocol_crossbeam,
        mesh_all::baking_cancel_inline::mesh_six::mesh_protocol_mpst,
        mesh_all::baking_cancel_inline::mesh_six::mesh_protocol_binary,
        mesh_all::baking_cancel_inline::mesh_six::mesh_protocol_crossbeam,
        mesh_all::baking_cancel_inline::mesh_seven::mesh_protocol_mpst,
        mesh_all::baking_cancel_inline::mesh_seven::mesh_protocol_binary,
        mesh_all::baking_cancel_inline::mesh_seven::mesh_protocol_crossbeam,
        mesh_all::baking_cancel_inline::mesh_eight::mesh_protocol_mpst,
        mesh_all::baking_cancel_inline::mesh_eight::mesh_protocol_binary,
        mesh_all::baking_cancel_inline::mesh_eight::mesh_protocol_crossbeam,
        mesh_all::baking_cancel_inline::mesh_nine::mesh_protocol_mpst,
        mesh_all::baking_cancel_inline::mesh_nine::mesh_protocol_binary,
        mesh_all::baking_cancel_inline::mesh_nine::mesh_protocol_crossbeam,
        mesh_all::baking_cancel_inline::mesh_ten::mesh_protocol_mpst,
        mesh_all::baking_cancel_inline::mesh_ten::mesh_protocol_binary,
        mesh_all::baking_cancel_inline::mesh_ten::mesh_protocol_crossbeam,
        mesh_all::baking_cancel_inline::mesh_eleven::mesh_protocol_mpst,
        mesh_all::baking_cancel_inline::mesh_eleven::mesh_protocol_binary,
        mesh_all::baking_cancel_inline::mesh_eleven::mesh_protocol_crossbeam,
        mesh_all::baking_cancel_inline::mesh_twenty::mesh_protocol_mpst,
        mesh_all::baking_cancel_inline::mesh_twenty::mesh_protocol_binary,
        mesh_all::baking_cancel_inline::mesh_twenty::mesh_protocol_crossbeam,
}

criterion_main! {
    mesh_full
}