C언어에서 for()문의 배열 접근순서를 바꿔서 속도가 10배 향상이 됩니다. ★★★★★

shint의 이미지

C언어에서 for()문의 배열 접근순서를 바꿔서 속도가 10배 향상이 됩니다. ★★★★★

메모리 접근 최적화이야기(배열(Array)에서) - 배열 접근순서 바꿔서 속도 10배 향상 ★★★★★
http://process3.blog.me/20030421397

pchero의 이미지

오.. 재밌네요. 한번 테스트 해봤습니다.

제 경우에는 차이는 나지만, 10배 까지는 아니었습니다.(스택 영역 기준) 2~3배 정도 차이가 나더군요.

하지만 힙 영역 테스트 결과, 확실한 차이가 나타났습니다.

좋은 정보 감사합니다. :)

스택 영역 사용 테스트 결과
http://pastebin.com/uq9mVT5g

힙 영역 사용 테스트 결과
http://pastebin.com/mrtsKjZq

---------------------------------
제일 왼쪽이 저입니다 :)

simminjo의 이미지

gcc 옵션중에 실제로 저런 역할을 해주는 optimization이 있습니다.
부가적으로 옵션을 넣어야 되지만요

---------------------------------------------------------------
Opensource에 기여하는 것이 꿈입니다.
내가 만든 코드를 모두가 사용할 때 까지~

yeonpil_net의 이미지

!23456---1----+----2----+----3----+----4----+----5----+----6----+----7-2--+----8
"배웠다"는 "할 수 있다"의 동의어가 아니다.