SIMD란 Single Instrument Mutliple Data 라는 뜻으로 하나의 명령어로 여려개의 데이터를 처리할 수 있는 인텔의 기술을 말한다.
아래와 같은 c++ 코드가 있다고 하자. for문 2개가 있는데, 첫번째는 a[0]++를 두번 수행하고, 두번째는 b[0]++,b[1]++ 를 순차적으로 실행한다. 이 결과는 어떻게 나올까? 놀랍게도 상당한 차이가 난다. 그 이유는 첫번째 코드인 a[0]++, a[
아래 코드를 보자. int 형의 2048x2048 크기의 배열을 생성해서 인덱싱을 하는 기본적인 코드이다. 과연 속도차이가 날까?결과거의 3배 가까운 시간의 차이가 난다! 대체 어떻게 이런 결과가 나온걸까? 이를 이해하기 위해서는 2차원배열이 메모리에서 어떻게 할당되는
앞서 이글은 igoros 라는 분의 Gallery of Processor Cache Effects 글을 번역한 것을 토대로 작성되있음을 알립니다. 링크는 마지막 레퍼런스에 있습니다. 캐시는 cpu의 입장에서는 너무나도 느린 메모리(RAM)에서 데이터를 가져오는 시간을