sigp / ssz_types

List, vector and bitfield types for SSZ
Apache License 2.0
1 stars 11 forks source link

Add `BitList::is_disjoint` #15

Open michaelsproul opened 11 months ago

michaelsproul commented 11 months ago

Closes #14

michaelsproul commented 11 months ago

Seems to be about 2.5x faster in micro-benchmarks, although the allocating variant is already very fast:

bitfield_is_disjoint/2048
                        time:   [107.90 ns 108.69 ns 109.38 ns]
Found 19 outliers among 100 measurements (19.00%)
  12 (12.00%) high mild
  7 (7.00%) high severe

bitfield_is_disjoint_by_intersection/2048
                        time:   [263.59 ns 264.14 ns 264.75 ns]
Found 3 outliers among 100 measurements (3.00%)
  3 (3.00%) high mild

I'm going to test this out in Lighthouse block packing.