At the same time, this memory-access (to a hashtable), I have in mind, is “just” a read-compare(-store) operation, for (potentially) saving some piece of data for retrieval at a later time (possibly by another thread, even). It’s a specific datastructure, which most of the time (99%+) certainly won’t be in L1 and likely not even in L2 or 元-cache. ![]() I for one have a use-case, where I am certain, that no compiler, let alone some hardware is able to predict whether or not (and which data!) I’m going to access, next. ![]() So it really depends on what kind of operations we are doing, for whether or not, prefetches happen automatically. Prefetches may be handled automatically by hardware (the cpu), even, IF cache-prediction has a chance to predict accurately, which data will be accessed, some few dozen cycles in advance and prefetch-instructions can also be generated by the compiler, automatically, but I doubt, that compiler-generated prefetches are generated outside of simple loops within a pretty limited scope. Wouldn’t it be a such low level task that it should be handled by the compiler?
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |