These 3 commits are when the Protocol Buffers files have changed:
Commit: | a7f6b8e | |
---|---|---|
Author: | Lee Avital | |
Committer: | Lee Avital |
Add efficient EncodeProto() with gostreamer This PR pulls in protoc-gen-gostreamer which is a protobuf generator that allows you to convert between an application type to protobuf directly to an io.Writer without allocating an intermediate protobuf struct in memory. This has been used to great effect in the datadog agent to reduce intermediate allocations [here](https://github.com/DataDog/datadog-agent/pull/18408), and we would like to do the same with ddsketches. You can run `go test -bench='BenchmarkStreamVsRegularEncode' ./...` for a full comparison, but for certain sketches this makes a huge difference in allocations per encode. ``` BenchmarkStreamVsRegularEncode/buffered_paginated/log_normal_non_int_count/vanilla-10 10000 113276 ns/op 67335 B/op 2942 allocs/op BenchmarkStreamVsRegularEncode/buffered_paginated/log_normal_non_int_count/gostreamer-10 6491349 187.4 ns/op 432 B/op 6 allocs/op ```
The documentation is generated from this commit.
Commit: | 0a92170 | |
---|---|---|
Author: | Piotr Wolski |
update license
Commit: | c997b9e | |
---|---|---|
Author: | jeerim |
Add negative value store, additional mapping and serialization