honeycombio / libhoney-go

Go library for sending data to Honeycomb
Apache License 2.0
58 stars 40 forks source link

Revert the revert of "pre-define map capacities" #201

Closed kentquirk closed 1 year ago

kentquirk commented 1 year ago

Reverts honeycombio/libhoney-go#200, which was a revert of a performance PR.

I tried implementing the change that I was intending to make, and it just doesn't work well.

A simple change runs the risk of blowing up memory in certain situations, so I had intended to make it configurable. But as a low-level library, libhoney-go has a well-trodden configuration path and doesn't really have a configuration model that allows for a transparent change. It would have needed to read the environment from within the libhoney Init() method and that's not really a good design. Otherwise we'd have to make all the callers of libhoney set it explicitly.

My intent was a simpler solution, but this is the simpler solution, it turns out. Oh well.