The problem is so severe that it is pretty much impossible to use it anywhere in the store without everything slowing down to a crawl, which makes implementing statistics really, really painful.
Even for incremental measurements this is way too slow, orders of magnitudes slower than everything else on the write path.
See #1743 for detailed benchmarks.
If we cannot optimize it any further, my proposal is to move the problem upstream: compute byte sizes within the batching system, therefore:
- distributing the load to the clients
- making its cost irrelevant, since batching happens on a separate thread
The problem is so severe that it is pretty much impossible to use it anywhere in the store without everything slowing down to a crawl, which makes implementing statistics really, really painful.
Even for incremental measurements this is way too slow, orders of magnitudes slower than everything else on the write path.
See #1743 for detailed benchmarks.
If we cannot optimize it any further, my proposal is to move the problem upstream: compute byte sizes within the batching system, therefore: