]>
git.proxmox.com Git - rustc.git/blob - vendor/itertools-0.8.2/benches/tuple_combinations.rs
4 extern crate itertools
;
6 use test
::{black_box, Bencher}
;
7 use itertools
::Itertools
;
9 // approximate 100_000 iterations for each combination
10 const N1
: usize = 100_000;
11 const N2
: usize = 448;
16 fn comb_for1(b
: &mut Bencher
) {
25 fn comb_for2(b
: &mut Bencher
) {
28 for j
in (i
+ 1)..N2
{
36 fn comb_for3(b
: &mut Bencher
) {
39 for j
in (i
+ 1)..N3
{
40 for k
in (j
+ 1)..N3
{
49 fn comb_for4(b
: &mut Bencher
) {
52 for j
in (i
+ 1)..N4
{
53 for k
in (j
+ 1)..N4
{
54 for l
in (k
+ 1)..N4
{
55 black_box(i
+ j
+ k
+ l
);
64 fn comb_c1(b
: &mut Bencher
) {
66 for (i
,) in (0..N1
).tuple_combinations() {
73 fn comb_c2(b
: &mut Bencher
) {
75 for (i
, j
) in (0..N2
).tuple_combinations() {
82 fn comb_c3(b
: &mut Bencher
) {
84 for (i
, j
, k
) in (0..N3
).tuple_combinations() {
91 fn comb_c4(b
: &mut Bencher
) {
93 for (i
, j
, k
, l
) in (0..N4
).tuple_combinations() {
94 black_box(i
+ j
+ k
+ l
);