|
|
|
|
|
by brongondwana
3856 days ago
|
|
Most of the time we're iterating through a cyrus.index, where there's 104 bytes per record, and we're doing a CRC32 over 100 of them, or we're reading through a twoskip database where we're CRCing the header (24+bytes, average 32) and then doing a couple of mmap lookup and memcmp operations before jumping to the next header, which is normally only within a hundred bytes forwards on a bit and mostly sorted database. The mmap lookahead will also have been in that close-by range. Also, our oldest CPU on production servers seems to be the E5520 right now, which has 128kb of L1 data cache. |
|