David Ashpole
David Ashpole
I also see slightly worse results, but agree it is definitely better to be correct. I'll work on a test.
I added a ConcurrentSafe test, and verified that it fails (quite spectacularly) with the previous atomic.Value implementation.
The concurrent safe test found another race condition around my usage of sync.Pool, which i'm looking into
The other race had to do with my usage of sync.Pool. After Collect loaded an element, that element could be placed into the sync.Pool by a subsequent store() that replaced...
I put the Measure benchmarks in the description. Not as good of an improvement as I had expected, so i'll have to dig into that more...
@dmathieu if you have the chance to review, this is related to other optimization PRs.
I figured out why the benchmark results were so poor: The benchmark was recording all observations in a single bucket, and each bucket has its own lock, so there were...
I like that idea. Or at least generate both by default, and have the config remove the one we don't need once it is set. Part of the process of...
> Great work, great to see amazing results! Do you mid benchmarking with allocs too? Yeah, zero allocs on the Measure() path before and after, so I didn't post it.
Not sure why coverage is failing