Op Thu, 28 Feb 2008, schreef Vinzent Hoefler:

On Thursday 28 February 2008 09:16, Daniël Mantione wrote:

Memory access. What happens is that the non-packed version causes
more cache misses.

Please elaborate. If the (unaligned) data is crossing a cache-line, thus
causing two full cache-line reads, I'd understand that, but once it's
in the cache, it wouldn't matter anymore?

Yes, but if you have an array of them (as we have in this case), considerably more of these records will fit in the cache. Therefore you will have considerably less cache misses. This becomes even more serious when the processor in question does not have prefetching; in such case, traversing the array will cause cache miss after cache miss, a smaller array will then have less of these misses.

Daniël
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to