Log
-
reduce garbage created by Merge() 💬 by ianwilkes 7 years ago
This doesn't speed anything up, but keeps us from making a temporary copy of the entire data structure every time we Merge(), which is a lot.
-
optimize Merge() by Ian Wilkes 7 years ago
-
add optimized serialization methods 💬 by ianwilkes 7 years ago
Add binary-compatible serialization/deserialization which avoids allocating memory unless absolutely necessary. ToBytes is applicable anywhere you need to send multiple digests across the wire, FromBytes is a little stranger since it obliterates the existing digest. But our use case can take advantage of this in many cases.
-
add optimized serialization methods by Ian Wilkes 7 years ago
-
Use uint64 instead of uint32 to avoid overflow issues by Eben Freeman 8 years ago
-
Revert "Try out this travis-ci + coveralls thing" 💬 by Caio 10 years ago
This reverts commit 42ef656694f47a21c37295c1ae3446666ee04c1f. LOL This randomly fails with: Bad response status from coveralls: 422 - {"message":"Couldn't find a repository matching this job.","error":true} And here shows that there's something real silly going on: https://github.com/lemurheavy/coveralls-public/issues/487 So no, not worth the pain. $fancy-- -
Try out this travis-ci + coveralls thing by Caio 10 years ago
-
Set count to zero after creating a new summary by Caio 10 years ago
-
Assert we don't change counts during Compress() 💬 by Caio 10 years ago
So that we avoid causing a regression (Ref: PR #10)
-
Merge pull request #10 from ianwilkes/master 💬 by Caio 10 years ago
Fix serious accuracy bug and improve performance
-
Enable building against go 1.6 by Caio 10 years ago
-
Merge pull request #7 from ajgillis/master 💬 by Caio 10 years ago
Provide ForEachCentroid() and Len() functins to access internal data.
-
ForEachCentroid should not return value, since this makes assumptions about the behavior of the supplied function. by Andrew Gillis 10 years ago
-
Provide ForEachCentroid() and Len() functins to access internal data. by Andrew Gillis 10 years ago
-
Add link to "go report" 💬 by Caio 10 years ago
Kool-aid++
-
Add tests for the panic() codepaths 💬 by Caio 10 years ago
Pretty much useless, but I was curious how to test for that. A bit awkward at first though it kind of makes sense.
-
Move serialization tests into serialization_test.go by Caio 10 years ago
-
Don't allow a K smaller than 1.0f 💬 by Caio 10 years ago
For it makes no sense whatsoever.
-
Add some more docs for tdigest.TDigest by Caio 10 years ago
-
Add missing zero from tdigest.New docs 💬 by Caio 10 years ago
It's 100, not 10.
-
Get rid of the unused Remove() method by Caio 10 years ago
-
Get rid of updateCentroid and addCentroid proxies 💬 by Caio 10 years ago
Less code is almost always better
-
Skip a binary search when updating centroid 💬 by Caio 10 years ago
Since updateCentroid() is called by picking from a byproduct of the current digest state, we can reuse the information we have to know which index to update without doing another search. Pure micro optimization, but it does improve things a bit at the cost of growing the centroid struct a bit: > $ go test -run XXX -bench . > PASS > BenchmarkAdd1-4 5000000 373 ns/op > BenchmarkAdd10-4 2000000 626 ns/op > BenchmarkAdd100-4 1000000 1579 ns/op > ok github.com/caio/go-tdigest 6.265s
-
Make summary.Add() handle duplicates by updating the centroid 💬 by Caio 10 years ago
No point spreading this logic around.
-
Update centroids in place 💬 by Caio 10 years ago
Unsurprisingly, avoid a bunch of copies is beneficial :-) > $ go test -run XXX -bench . > PASS > BenchmarkAdd1-4 5000000 353 ns/op > BenchmarkAdd10-4 2000000 674 ns/op > BenchmarkAdd100-4 1000000 1788 ns/op
-
Don't add a centroid twice by Caio 10 years ago
-
Rename the last `Percentile` reference to `Quantile` by Caio 10 years ago
-
Rename TDigest.Percentile to Quantile 💬 by Caio 10 years ago
Quantile is the correct name given that the range is [0,1]
-
Test extreme quantiles in TestTInternals by Caio 10 years ago