while(likely(i<count)){
map[randome_index()]++;
i++;
}
현재 count는 약 150만번 정도, 맵의 전체 크기는 800만 정도이고 unsigned char 타입이니 800만 바이트정도 됩니다.
여기서 0~800만 사이의 랜덤 넘버가 발생해서 랜덤 넘버를 인덱스로 맵에 접근해서 값을 1씩 증가시켜 줍니다.
제가 만들고 있는 프로그램의 가장 큰 성능요인이 이부분인데, 맵의 인덱스를 0부터 순차적으로 접근할때와 비교해서
정확히 측정이 안될정도로 엄청난 성능 감소가 발생합니다. random넘버를 생성하는 함수는 더이상 건드릴 수 없습니다.
도대체 어떻게 해야 지역성을 살릴 수 있을까요?