2009-02-26 3 views
2

컴파일 속도를 높이고 싶었 기 때문에 램 디스크로 빌드 할 수도 있지만 파일 시스템이 자동으로 플러시되고 RAM이 충분하지 않으면 파일 시스템을 사용합니다.파일 미러가있는 램 디스크

필자가 쓰고있는 앱에 대해 RAM이 캐시되고 FS에 플러시되는 파일이 필요한 경우가 있습니다. 내 옵션은 무엇입니까? 이미 존재하는 이와 같은 것이 있습니까? (아마 퓨즈?) 애플 리케이션은 장난감 애플 리케이션 (지금)이며 C++ 코드를 반복적으로 컴파일해야합니다. 아시다시피 진행하기 전에 해결해야 할 특정 문제가있을 때 컴파일하는 데 시간이 오래 걸립니다. 우리가 할 수있는 일은 줄어든다.

답변

3

Ram-disks는 파일 시스템 캐시를 사용하여 도도쪽으로갔습니다. 정적 캐시보다 훨씬 더 나은 결정을 내릴 수 있습니다. 다른 프로그램의 RAM 사용과 디스크 쓰기 헤드의 위치를 ​​인식해야합니다. 게으른 쓰기 되돌림은 무료입니다.

+0

당신은 내가 이것을 구현할 필요가 없도록 windows가 내 파일을 캐시 할 것이라고 말하고 있습니까? –

+0

예. 읽기와 쓰기 모두. –

+0

일반적으로이 사실이 맞습니까? 아니면 소프트웨어를 작성한 개발자가 Windows에 파일 시스템 캐시를 사용해야한다고 말하면 무엇입니까? 즉, 대용량 파일을 쓸 때 간단한 C 코드가 시스템 캐시의 이점을 얻을 것입니까? 그렇다면 RAMDISK에 쓸 때 왜 극적으로 빠른 속도 향상을 볼 수 있습니까? (OpenCV를 사용하여 한 번에 한 프레임 씩 큰 비디오 파일을 씁니다.) – AndyL

1

컴파일은 디스크 바인딩이 아닌 CPU 바인딩입니다. 적절한 빌드 플래그를 사용하여 모든 CPU 코어를 활용하면 일반 PC에 쉽게 포화시킬 수 있습니다. 어떤 종류의 수퍼 컴퓨터를 가지고 있지 않다면, 나는 이것이 많은 것을 빠르게 할 것이라고 생각하지 않습니다.

VS2008의 경우이 플래그는 /MP입니다. VS2005에도 있습니다.

관련 문제