This PR introduce the use of SmallVec for allocations backing ChangeBatch and Antichain. These often have at most two and one, respectively, elements in them. I made ChangeBatch itself generic, and Antichain not. Probably best to unify these.
It takes a modified event_driven.rs from
cargo run --example event_driven --release -- 1000 1000 no 5.31s user 0.59s system 96% cpu 6.124 total
to
cargo run --example event_driven --release -- 1000 1000 no 4.56s user 0.59s system 95% cpu 5.382 total
Some noise is these measurements, but the relative improvement seems consistent.
This PR introduce the use of
SmallVec
for allocations backingChangeBatch
andAntichain
. These often have at most two and one, respectively, elements in them. I madeChangeBatch
itself generic, andAntichain
not. Probably best to unify these.It takes a modified
event_driven.rs
fromto
Some noise is these measurements, but the relative improvement seems consistent.