Title | Scanner makes no use of __builtin_prefetch |
Status | open |
Priority | nice |
Assigned user | Gareth Rees |
Organization | Ravenbrook |
Description | The scanner sequentially examines blocks of memory. This pulls the memory into the processor's cache, and so its performance might benefit from prefetching. (The next chunk can be loaded into the cache in parallel with the scanning of the current chunk.) (Originally noted by DRJ [2].) |
Analysis | GCC [1] has a __builtin_prefetch function that is "used to minimize cache-miss latency by moving data into a cache before it is accessed". Deciding how much data to prefetch requires some tuning, so will be tricky since it's client code that's doing the scanning. |
How found | inspection |
Evidence | [1] <https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html >[2] https://info.ravenbrook.com/project/mp...2001-11-05/mmprevol/request/mps/160128/ |
Created by | Gareth Rees |
Created on | 2013-12-23 16:20:16 |
Last modified by | Gareth Rees |
Last modified on | 2018-06-14 13:33:16 |
History | 2013-12-23 GDR Created. |