Releases: TimelyDataflow/differential-dataflow
differential-dogs3-v0.21.2
Other
- Consolidate storage types to avoid double allocations
- Re-order stages and improve session batching
- Less quadratic half_join
differential-dataflow-v0.21.2
Other
- InternalMerger adopts tail chunks rather than copy them
- Tidy up structure of logic
- Dial in buffer sizing
- Introduce VecMerger to efficiently merge owning vectors
differential-dogs3-v0.21.1
Other
- update Cargo.toml dependencies
differential-dataflow-v0.21.1
Other
- InternalMerger adopts tail chunks rather than copy them
- Tidy up structure of logic
- Dial in buffer sizing
- Introduce VecMerger to efficiently merge owning vectors
differential-dogs3-v0.21.0
Other
- update Cargo.toml dependencies
differential-dataflow-v0.21.0
Added
Arranged::as_containerconvenience method for extracting non-Veccontainers from arrangements (#695)ColumnationandColumnarimplementations for thePresentzero-sized difference type (#682)
Changed
- Update to timely 0.28 and columnar 0.12 (#698)
- Adopt internal iteration for consolidation, merge batching, and trace building, replacing external iteration that leaked internal types through abstractions (#689)
Fixed
- Eliminate a redundant
arrangeinpropagateand a double scope-import inscc(#692)
The main theme of this release is internal iteration: consolidation, merging, and trace building now happen behind trait methods rather than exposing container internals outward.
Dependency updates track timely 0.28 and columnar 0.12.
differential-dogs3-v0.20.0
differential-dataflow-v0.20.0
Other
- Update release notes for 0.20 (#680)
- Pull in probe changes (#677)
- Break
Variableinto(Variable, Collection)(#674) - Update github workflows (#673)
- Set MSRV to 1.86 (#672)
- Differential corrected atop candidate timely 0.27 (#671)
- Test mdbook like a crate (#669)
- Migrate Join logic away from traits (#668)
- More
VecCollectiondemotion (#667) - Implement utility traits for Rc collections (#666)
- Deprioritize the
Veccontainer (#664)
Substantial superficial but breaking changes due to the adoption of timely 0.27.
Primarily that the Stream contained by Collection is not Clone by default, and is now conventionally passed owned rather than by reference.
The necessary fix-ups are to convert to owned collections, and where needed to clone the collection, which requires that its container implement Clone.
Related, the Variable types is broken into a pair (Variable, Collection), where the latter is the usable collection the type would previously Deref to, and the former is the connection point to bind the variable's definition.
The SemigroupVariable was removed, as it is now redundant with Variable::new(), which does not require Negate (the main difference between the two variables).
Several steps were taken to "deprioritize" collections with vector containers.
Many traits defined only on vector collections were removed in favor of inherent methods.
Traits and methods that produce vector collections were (and continue to be) reconsidered to avoid routing users into that opinion.
All prior functionality is available, though in some cases it requires explicit indication of preferred container types (internally, only in "demo" cases).
The probe operator was updated to track timely changes that have it return a pair of handle and collection, rather than only a handle.
This aligns more with the "owned collection" idiom.
differential-dogs3-v0.19.1
Other
- update Cargo.toml dependencies