Releases: caio/go-tdigest
v5.0.0
v4.1.0
v4.1.0
- Fix comment for AddWeighted by @mikecoop83 in #36
- Fix: Init rng in TDigest.FromBytes by @novadev94 in #41
- Add TDigest.Reset by @novadev94 in #40
- Minor lint fixes
v4.0.1
v4.0.0
v3.1.0
v3.0.0: Major release of go-tdigest
Major release of go-tdigest
This release brings in some API and internal changes, but behavior should remain the same.
Changes
- A local RNG is used by default, instead of the global one
- Internal counters were upgraded to 64bit integers
- (Cosmetic) Configuring Compression uses a float64 instead of uint32
Minor release of go-tdigest
This release introduces support for configuring the deserialized
digest when using tdigest.FromBytes
Right now this is mostly useful for configuring the RNG the
digest will use, for example:
t1, err := tdigest.FromBytes(payload, tdigest.LocalRandomNumberGenerator(42))Patch release of go-tdigest
This release contains a fix for code introduced on v2.0.0
where deserializing a payload would cause errors due to
unexpected nil pointers.
Minor release of go-tdigest
This release contains several performance oriented patches
and was made possible mostly by @vmihailenco adding benchmarks,
optimizing existing code and backporting improvements in the
@honeycombio fork written by @ianwilkes
Notably, the optimizations introduced on v2.0.0 by using a
fenwick tree to cache prefix sums have been refined (#23) and,
later, removed (#25) after the introduction of more thorough
benchmarks.
New Public API
-
TDigest instances may now be duplicated via Clone()
-
You may inspect the compression any given digest has been
configured to use by calling Compression() -
A tdigest instance may be reused/reinitialized (to minimize
allocations, generally) directly from a buffer via
FromBytes(bytes) -
You may now opt to destroy a given digest when merging
for the sake of performance:t1.Merge(t2)may be
replaced by MergeDestructive for faster execution,
but you must make sure to not uset2after this since
its state is going to be seriously invalid.
Dependency Changes
We don't import yourbasic/fenwick anymore, so this library
now doesn't require any external dependency to be used (test
dependencies remain unchanged).
Other
There's been some discussion about performance and chaging
counts to 64bit at #20 - Much of what has been discussed is
done and the next changes will likely require an API change,
so this might be one of the last v2 releases, but keep in
mind that the migration to the future v3 should be really
simple; Even easier than the v1 to v2 path.
Minor release of go-tdigest
This release adds support for TrimmedMean (#22) and reduces inaccuracies caused by floating point math (#19).
Many thanks to @mcbridne and @vmihailenco for making this happen.