선형 배열을 취하고 각 요소를 임의의 위치 (CPU의 관점에서 보면 임의의 위치)에 다른 배열에 쓰는 방법으로 프로그램을 최적화 할 생각입니다. 나는 단지 간단한 글을 쓰고 있고, 다시 요소를 읽지 않는다.현대 인텔 또는 AMD CPU에서 분산 쓰기 속도 대 분산 읽기 속도?
나는 각 액세스가 캐시 미스를 일으키고 따라서 프로세서가 대기하므로 고전적인 CPU에 대한 scatted 읽기가 상당히 느릴 수 있다는 것을 알고 있습니다. 하지만 프로세서가 결과를 기다리고 있지 않기 때문에 흩어져있는 쓰기가 기술적으로 빠르다는 생각 때문에 트랜잭션이 완료 될 때까지 기다릴 필요가 없습니다.
저는 불행히도 고전적인 CPU 메모리 아키텍처의 모든 세부 사항에 익숙하지 않으므로이 문제도 상당히 느려질 수 있습니다.
아무도 시도해 봤습니까?
(나는 내가 가지고있는 문제를 뒤집어 씌우려 고하고있다. 나는 현재 임의의 값 - 흩어져있는 읽기 -에서 선형 배열을 가지고있다. 그리고 모든 캐시 미스 때문에 엄청나게 느리다. 내 생각에이 작업을 흩어져서 쓸데없는 속도로 처리 할 수 있습니다.)
흩어져있는 글이 빠르면 놀랄 것입니다. 그러나 항상 그렇듯이 테스트하고 측정해야합니다. –