6.5-Writing_Cache_Friendly_Code

6.2-Locality 에서 우리는 Locality 에 대한 개념과 좋은 Locality 의 기준을 알아보았다.
이제 Cache Memory 의 작동을 알게 되었으므로, 좀 더 정확하게 이해할 수 있다.

좋은 Locality 를 가지면, Miss Rate 를 낮추기 때문에 더 빠르게 동작할 수 있다.
즉 좋은 코드를 위해서는 Cache friendly 하게, 같은 말로 Locality 가 좋게 작성해야 한다.

아래는 코드가 Cache-friendly 하게 만들 수 있는 접근을 알려준다.

  1. Make the Common Case go Fast.
    보통의 프로그램은 몇가지의 중요한 함수에서 주로 작동하며,
    이 중요한 함수들은 몇가지의 Loop 에서 주로 작동한다.
    이 Loop 의 Body 에 집중해야한다.

  2. Minimize the Number of Cache Misses in each inner Loop.
    Loop 내에서 Miss Rate 가 더 적은 프로그램이 더 빠르다.