Jeff King [off-list ref] writes:
On Wed, Sep 28, 2022 at 12:21:15AM -0400, Jeff King wrote:
quoted
The downside is that we're copying the data an extra time. It's not very
much data, and it's all fixed size, so the compiler should be able to do
a reasonable job of optimizing here. But I didn't time the potential
impact.
...
Summary
'./test-tool.old read-cache 1000' ran
1.11 ± 0.04 times faster than './test-tool.new read-cache 1000'
I think that's probably the nail in the coffin for my proposed approach.
To be fair, it's only .3ms extra for a normal program which reads the
index once. That's not that big in absolute numbers. But there are
larger index files in the wild. And the improvement in simplicity and
readability is simply not that great.
Thanks for the due diligence. This result may be an indication of
how efficient the existing code is, but it is a bit surprising that
one more copy of the stat_data struct makes that much difference.