Log for tdigest.go
-
Breaking: add Clone method to RNG interface by Caio 4 months ago
-
Optimize Merge() when the receiver is empty ๐ฌ by Caio 4 months ago
This makes reusing an existing TDigest (through Reset()) a reasonable alternative to Clone() goos: linux goarch: amd64 pkg: github.com/caio/go-tdigest/v4 cpu: AMD Ryzen 7 PRO 4750U with Radeon Graphics โ old.txt โ new.txt โ โ sec/op โ sec/op vs base โ MergeEmpty-16 98.035ยต ยฑ 2% 3.189ยต ยฑ 6% -96.75% (p=0.000 n=10) -
Add TDigest.Reset by Nova 8 months ago
-
lint fixes by Caio 2 years ago
-
Fix comment for AddWeighted by Michael Coopersmith 2 years ago
-
go tdigest: only create a newLocalRNG if one is not provided by options ๐ฌ by Zach Dylag 3 years ago
Allocating and seeding rand objects can be a surprisingly expensive operation. Especially if the user is already re-using RNGs, or needs to generate their own for whatever reason, this extra setup can be a lot of overhead for an object that does not get used.
-
Document the local RNG setup in `New` by Caio 6 years ago
-
Default to a local RNG by Caio 6 years ago
-
Merge remote-tracking branch 'upstream/master' into ian.uint64 by Ian Wilkes 6 years ago
-
Make FromBytes accept options for constructing the digest by Caio 7 years ago
-
More verbose documentation for MergeDestructive by Caio 7 years ago
-
Add TDigest.FromBytes and cleanup RNG interface by Vladimir Mihailenco 7 years ago
-
Add MergeDestructive by Vladimir Mihailenco 7 years ago
-
Use rand.Perm to shuffle data by Vladimir Mihailenco 7 years ago
-
Remove fenwick tree by Vladimir Mihailenco 7 years ago
-
Enable fenwick tree after some threshold by Vladimir Mihailenco 7 years ago
-
Add TDigest.Clone and TDigest.Compression by Vladimir Mihailenco 7 years ago
-
Document the panic() conditions for TrimmedMean() by Caio 7 years ago
-
Add TrimmedMean by Vladimir Mihailenco 7 years ago
-
Simplify the weighted average computation ๐ฌ by Caio 7 years ago
As per #19, this patch just makes it so that `(w1 + w2)` doesn't get repeated in the denominator.
-
Improve accuracy by avoiding floating-point math errors ๐ฌ by Caio 7 years ago
Big thanks to @mcbridne for pointing out that the existing code seemed useless. Closes #19
-
Use uint64 instead of uint32 to avoid overflow issues by Eben Freeman 7 years ago
-
fix cdf for values near the last centroid by Jeff Wendling 8 years ago
-
Properly compute extreme CDFs ๐ฌ by Caio 8 years ago
When we reach the last centroid in the summary, what we want to do is assume that the last two centroids are of equal width then estimate the CDF via a simple interpolation. Before this patch we would wrongly bound (and compute) this estimation with the last item instead of the one before the last. Fixes #17
-
Update more examples using the old New() api by Caio 8 years ago
-
Fix misspell by Caio 8 years ago
-
Refactor TDigest.AddWeighted ๐ฌ by Caio 8 years ago
This patch simply extracts some functionality into a couple a new private methods: findNeighbors and chooseMergeCandidate
-
Tidy things up [gometalinter] by Caio 8 years ago
-
Add new CDF(float64) public method by Caio 8 years ago
-
Remove TDigest.Len() from the public interface ๐ฌ by Caio 8 years ago
I can't think of a scenario where one would really care about how many distinct centroids are in the digest, so away this goes on a major release. Adding it back in case it's needed won't require a major release.