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 ring_all;

criterion_group! {
    name = ring_full;
    config = Criterion::default().significance_level(0.1).sample_size(10000);
    targets = 
        ////////// Benchmarks using basic functions with zero loops
        ring_all::empty::ring_two::ring_protocol_mpst,
        ring_all::empty::ring_two::ring_protocol_binary,
        ring_all::empty::ring_two::ring_protocol_crossbeam,
        ring_all::empty::ring_three::ring_protocol_mpst,
        ring_all::empty::ring_three::ring_protocol_binary,
        ring_all::empty::ring_three::ring_protocol_crossbeam,
        ring_all::empty::ring_four::ring_protocol_mpst,
        ring_all::empty::ring_four::ring_protocol_binary,
        ring_all::empty::ring_four::ring_protocol_crossbeam,
        ring_all::empty::ring_five::ring_protocol_mpst,
        ring_all::empty::ring_five::ring_protocol_binary,
        ring_all::empty::ring_five::ring_protocol_crossbeam,
        ring_all::empty::ring_six::ring_protocol_mpst,
        ring_all::empty::ring_six::ring_protocol_binary,
        ring_all::empty::ring_six::ring_protocol_crossbeam,
        ring_all::empty::ring_seven::ring_protocol_mpst,
        ring_all::empty::ring_seven::ring_protocol_binary,
        ring_all::empty::ring_seven::ring_protocol_crossbeam,
        ring_all::empty::ring_eight::ring_protocol_mpst,
        ring_all::empty::ring_eight::ring_protocol_binary,
        ring_all::empty::ring_eight::ring_protocol_crossbeam,
        ring_all::empty::ring_nine::ring_protocol_mpst,
        ring_all::empty::ring_nine::ring_protocol_binary,
        ring_all::empty::ring_nine::ring_protocol_crossbeam,
        ring_all::empty::ring_ten::ring_protocol_mpst,
        ring_all::empty::ring_ten::ring_protocol_binary,
        ring_all::empty::ring_ten::ring_protocol_crossbeam,
        ring_all::empty::ring_eleven::ring_protocol_mpst,
        ring_all::empty::ring_eleven::ring_protocol_binary,
        ring_all::empty::ring_eleven::ring_protocol_crossbeam,
        ring_all::empty::ring_twenty::ring_protocol_mpst,
        ring_all::empty::ring_twenty::ring_protocol_binary,
        ring_all::empty::ring_twenty::ring_protocol_crossbeam,
        ////////// Benchmarks using basic functions with 100 loops
        ring_all::normal::ring_two::ring_protocol_mpst,
        ring_all::normal::ring_two::ring_protocol_binary,
        ring_all::normal::ring_two::ring_protocol_crossbeam,
        ring_all::normal::ring_three::ring_protocol_mpst,
        ring_all::normal::ring_three::ring_protocol_binary,
        ring_all::normal::ring_three::ring_protocol_crossbeam,
        ring_all::normal::ring_four::ring_protocol_mpst,
        ring_all::normal::ring_four::ring_protocol_binary,
        ring_all::normal::ring_four::ring_protocol_crossbeam,
        ring_all::normal::ring_five::ring_protocol_mpst,
        ring_all::normal::ring_five::ring_protocol_binary,
        ring_all::normal::ring_five::ring_protocol_crossbeam,
        ring_all::normal::ring_six::ring_protocol_mpst,
        ring_all::normal::ring_six::ring_protocol_binary,
        ring_all::normal::ring_six::ring_protocol_crossbeam,
        ring_all::normal::ring_seven::ring_protocol_mpst,
        ring_all::normal::ring_seven::ring_protocol_binary,
        ring_all::normal::ring_seven::ring_protocol_crossbeam,
        ring_all::normal::ring_eight::ring_protocol_mpst,
        ring_all::normal::ring_eight::ring_protocol_binary,
        ring_all::normal::ring_eight::ring_protocol_crossbeam,
        ring_all::normal::ring_nine::ring_protocol_mpst,
        ring_all::normal::ring_nine::ring_protocol_binary,
        ring_all::normal::ring_nine::ring_protocol_crossbeam,
        ring_all::normal::ring_ten::ring_protocol_mpst,
        ring_all::normal::ring_ten::ring_protocol_binary,
        ring_all::normal::ring_ten::ring_protocol_crossbeam,
        ring_all::normal::ring_eleven::ring_protocol_mpst,
        ring_all::normal::ring_eleven::ring_protocol_binary,
        ring_all::normal::ring_eleven::ring_protocol_crossbeam,
        ring_all::normal::ring_twenty::ring_protocol_mpst,
        ring_all::normal::ring_twenty::ring_protocol_binary,
        ring_all::normal::ring_twenty::ring_protocol_crossbeam,
        ////////// Benchmarks using cancelling with a monitor to broadcast cancel with 100 loops
        ring_all::cancel_broadcast::ring_three::ring_protocol_mpst,
        ring_all::cancel_broadcast::ring_four::ring_protocol_mpst,
        ring_all::cancel_broadcast::ring_five::ring_protocol_mpst,
        ring_all::cancel_broadcast::ring_six::ring_protocol_mpst,
        ring_all::cancel_broadcast::ring_seven::ring_protocol_mpst,
        ring_all::cancel_broadcast::ring_eight::ring_protocol_mpst,
        ring_all::cancel_broadcast::ring_nine::ring_protocol_mpst,
        ring_all::cancel_broadcast::ring_ten::ring_protocol_mpst,
        ring_all::cancel_broadcast::ring_eleven::ring_protocol_mpst,
        ring_all::cancel_broadcast::ring_twenty::ring_protocol_mpst,
        ////////// Benchmarks using cancelling without a monitor to broadcast cancel using basic functions with 100 loops
        ring_all::cancel::ring_two::ring_protocol_mpst,
        ring_all::cancel::ring_three::ring_protocol_mpst,
        ring_all::cancel::ring_four::ring_protocol_mpst,
        ring_all::cancel::ring_five::ring_protocol_mpst,
        ring_all::cancel::ring_six::ring_protocol_mpst,
        ring_all::cancel::ring_seven::ring_protocol_mpst,
        ring_all::cancel::ring_eight::ring_protocol_mpst,
        ring_all::cancel::ring_nine::ring_protocol_mpst,
        ring_all::cancel::ring_ten::ring_protocol_mpst,
        ring_all::cancel::ring_eleven::ring_protocol_mpst,
        ring_all::cancel::ring_twenty::ring_protocol_mpst,
        ////////// Benchmarks using cancelling without a monitor to broadcast cancel using generated methods with 100 loops
        ring_all::baking_cancel::ring_two::ring_protocol_mpst,
        ring_all::baking_cancel::ring_two::ring_protocol_binary,
        ring_all::baking_cancel::ring_two::ring_protocol_crossbeam,
        ring_all::baking_cancel::ring_three::ring_protocol_mpst,
        ring_all::baking_cancel::ring_three::ring_protocol_binary,
        ring_all::baking_cancel::ring_three::ring_protocol_crossbeam,
        ring_all::baking_cancel::ring_four::ring_protocol_mpst,
        ring_all::baking_cancel::ring_four::ring_protocol_binary,
        ring_all::baking_cancel::ring_four::ring_protocol_crossbeam,
        ring_all::baking_cancel::ring_five::ring_protocol_mpst,
        ring_all::baking_cancel::ring_five::ring_protocol_binary,
        ring_all::baking_cancel::ring_five::ring_protocol_crossbeam,
        ring_all::baking_cancel::ring_six::ring_protocol_mpst,
        ring_all::baking_cancel::ring_six::ring_protocol_binary,
        ring_all::baking_cancel::ring_six::ring_protocol_crossbeam,
        ring_all::baking_cancel::ring_seven::ring_protocol_mpst,
        ring_all::baking_cancel::ring_seven::ring_protocol_binary,
        ring_all::baking_cancel::ring_seven::ring_protocol_crossbeam,
        ring_all::baking_cancel::ring_eight::ring_protocol_mpst,
        ring_all::baking_cancel::ring_eight::ring_protocol_binary,
        ring_all::baking_cancel::ring_eight::ring_protocol_crossbeam,
        ring_all::baking_cancel::ring_nine::ring_protocol_mpst,
        ring_all::baking_cancel::ring_nine::ring_protocol_binary,
        ring_all::baking_cancel::ring_nine::ring_protocol_crossbeam,
        ring_all::baking_cancel::ring_ten::ring_protocol_mpst,
        ring_all::baking_cancel::ring_ten::ring_protocol_binary,
        ring_all::baking_cancel::ring_ten::ring_protocol_crossbeam,
        ring_all::baking_cancel::ring_eleven::ring_protocol_mpst,
        ring_all::baking_cancel::ring_eleven::ring_protocol_binary,
        ring_all::baking_cancel::ring_eleven::ring_protocol_crossbeam,
        ring_all::baking_cancel::ring_twenty::ring_protocol_mpst,
        ring_all::baking_cancel::ring_twenty::ring_protocol_binary,
        ring_all::baking_cancel::ring_twenty::ring_protocol_crossbeam,
        ////////// Benchmarks using cancelling without a monitor to broadcast cancel using generated methods with inline compilation with 100 loops
        ring_all::baking_cancel_inline::ring_two::ring_protocol_mpst,
        ring_all::baking_cancel_inline::ring_two::ring_protocol_binary,
        ring_all::baking_cancel_inline::ring_two::ring_protocol_crossbeam,
        ring_all::baking_cancel_inline::ring_three::ring_protocol_mpst,
        ring_all::baking_cancel_inline::ring_three::ring_protocol_binary,
        ring_all::baking_cancel_inline::ring_three::ring_protocol_crossbeam,
        ring_all::baking_cancel_inline::ring_four::ring_protocol_mpst,
        ring_all::baking_cancel_inline::ring_four::ring_protocol_binary,
        ring_all::baking_cancel_inline::ring_four::ring_protocol_crossbeam,
        ring_all::baking_cancel_inline::ring_five::ring_protocol_mpst,
        ring_all::baking_cancel_inline::ring_five::ring_protocol_binary,
        ring_all::baking_cancel_inline::ring_five::ring_protocol_crossbeam,
        ring_all::baking_cancel_inline::ring_six::ring_protocol_mpst,
        ring_all::baking_cancel_inline::ring_six::ring_protocol_binary,
        ring_all::baking_cancel_inline::ring_six::ring_protocol_crossbeam,
        ring_all::baking_cancel_inline::ring_seven::ring_protocol_mpst,
        ring_all::baking_cancel_inline::ring_seven::ring_protocol_binary,
        ring_all::baking_cancel_inline::ring_seven::ring_protocol_crossbeam,
        ring_all::baking_cancel_inline::ring_eight::ring_protocol_mpst,
        ring_all::baking_cancel_inline::ring_eight::ring_protocol_binary,
        ring_all::baking_cancel_inline::ring_eight::ring_protocol_crossbeam,
        ring_all::baking_cancel_inline::ring_nine::ring_protocol_mpst,
        ring_all::baking_cancel_inline::ring_nine::ring_protocol_binary,
        ring_all::baking_cancel_inline::ring_nine::ring_protocol_crossbeam,
        ring_all::baking_cancel_inline::ring_ten::ring_protocol_mpst,
        ring_all::baking_cancel_inline::ring_ten::ring_protocol_binary,
        ring_all::baking_cancel_inline::ring_ten::ring_protocol_crossbeam,
        ring_all::baking_cancel_inline::ring_eleven::ring_protocol_mpst,
        ring_all::baking_cancel_inline::ring_eleven::ring_protocol_binary,
        ring_all::baking_cancel_inline::ring_eleven::ring_protocol_crossbeam,
        ring_all::baking_cancel_inline::ring_twenty::ring_protocol_mpst,
        ring_all::baking_cancel_inline::ring_twenty::ring_protocol_binary,
        ring_all::baking_cancel_inline::ring_twenty::ring_protocol_crossbeam,
}

criterion_main! {
    ring_full
}