mirror of
https://github.com/isocpp/CppCoreGuidelines.git
synced 2024-03-22 13:30:58 +08:00
Merge pull request #262 from Eliyahu-Ravuna/patch-10
Access memory predictably - Revised according to the feedback in #256
This commit is contained in:
commit
f72217f30c
|
@ -8660,7 +8660,19 @@ make the job of the optimizer much harder. Simple code often optimizes better th
|
||||||
|
|
||||||
Performance is very sensitive to cache performance and cache algorithms favor simple (usually linear) access to adjacent data.
|
Performance is very sensitive to cache performance and cache algorithms favor simple (usually linear) access to adjacent data.
|
||||||
|
|
||||||
???
|
##### Example
|
||||||
|
|
||||||
|
int matrix[rows][cols];
|
||||||
|
|
||||||
|
//bad
|
||||||
|
for(int c=0; c<cols; ++c)
|
||||||
|
for(int r=0; r<rows; ++r)
|
||||||
|
sum += matrix[r][c];
|
||||||
|
|
||||||
|
//good
|
||||||
|
for(int r=0; r<rows; ++r)
|
||||||
|
for(int c=0; c<cols; ++c)
|
||||||
|
sum += matrix[r][c];
|
||||||
|
|
||||||
### <a name="Rper-context"></a> PER.30: Avoid context switches on the critical path
|
### <a name="Rper-context"></a> PER.30: Avoid context switches on the critical path
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user