Hi everyone.
I see in 8.1.0 release notes there is a very interesting feature
“Lazy bin loading – Unpack only the bins your app reads on the read path, reducing CPU work, memory use, and latency spikes on reads from wide records.”
However I am confused - should not this feature exist on the client library ? Why is this part of server change?
Is it implemented in golang library? I can’t find any reference to that change there
This mainly related to usecases involving a lot of bins per record. Previously after reading the record from device we would interpret every bin to be later operated on. This change is targeting cases where most bins will not be operated on. For cases where most bins are operated on we didn’t measure any significant performance change. It is very usecase dependent but we’d observed up to a 30% throughput improvement for storage-engine memory workloads, which is were you’d expect to see the most improvement.
HTH