Both bench runs of the packing change (#54) show the same thing on windows-x64-full and nowhere else:
- reads 28309 to 22073 and 22362, about minus 21 percent
- mixed 7448 to 5785 and 5960, about minus 20 percent
- writes flat at 633 to 635 and 637
Linux profiles show no read regression at all, so this is not the packed page walk itself being slow. Suspects worth measuring: the extra relaxed commit that blanks a page at rollover, the record cache being invalidated on every append so index path reads decode a page more often, or Windows specific cost in reading a page that is still open and therefore only in the dirty table.
The read path normally answers from the in memory version map, so a 20 percent drop suggests reads are falling through to the page more often than they used to.
Both bench runs of the packing change (#54) show the same thing on windows-x64-full and nowhere else:
Linux profiles show no read regression at all, so this is not the packed page walk itself being slow. Suspects worth measuring: the extra relaxed commit that blanks a page at rollover, the record cache being invalidated on every append so index path reads decode a page more often, or Windows specific cost in reading a page that is still open and therefore only in the dirty table.
The read path normally answers from the in memory version map, so a 20 percent drop suggests reads are falling through to the page more often than they used to.