캐시 친화적인 코드의 예시를 찾아보고 있는데 쉽지 않네요

아래처럼 다차원 반복문에서 방문순서를 정하는 것 외의 다른 예제를 찾아보는데 쉽지 않네요.

// i, j 순으로 순회하느냐 j , i순으로 순회하느냐
arr[i][j] 혹은 arr[j][i]

제 컴퓨터에 캐시 라인 크기가 64바이트이길래 쓰기, 읽기를 섞으면서 구체적인 성능 차이를 도출하려고 하는데 영 결과가 시원치 않네요 ㅋㅋ 이래서 다들 저 반복문 예제만 쓰나보죠?

그나마 찾다보니, 상속이냐 vs 포함이냐 할 때, 상속을 하면 부모 클래스의 데이터가 하위 클래스의 데이터랑 같은 선에서 쭉 나열되고 이 속성을 이용해서 성능 향상을 꾀하는 것도 있구나 정도는 찾아서 좋았지만… 이것도 또 C계열이 아닌 다른 언어로 가면 어찌될지 모르는 문제라 ;ㅇ;

:thinking: :thinking:

혹시 알고 있는 구체적인 예제가 있다면 추천해주세요

안타깝게도, 저는 한번도 이런류의 코드가 진짜로 객관적으로 어떤 하드웨어건 동일한 효과를 내는걸 볼 기회가 없었어서 잘 모르겠네요. 인터넷에도 보면 심플한 루프로 POC 수준의 speculation 들만 보이고요. 물론 구글이 여러 "썰"을 풀어놓은 페이지는 많이 보여줍니다만… 확실히 이거다! 싶은건 없는것 같읍니다.

1 Like

;ㅇ; 제가 표현하고 싶었던 게 이 문구였어요. 뭔가… 와닿는 예제나 상황이 없네요.

이정도면 제가 하고 있는 접근 방법이 잘못된건 아닌가 싶기도하고 ㅋㅋ

요새는 컴퓨팅파워로 밀어 붙히는게 유행이라죠 ㅋ

요고 좀 쓸만(practical) 해 보이기는 하는데… 글세요… 제가 미천한 웹쟁이라…

게시글 답변에 달린 블로그를 잠깐 훑어보니, 최근까지 업데이트를 하네요… 대단…! ㅋ-ㅋ 잘보겠읍니다

결국 돌고돌아 행렬곱셈…