전체 소스 코드베이스는 < 20MB입니다. 백그라운드에서 메모리에 모두로드되기를 원합니다. 따라서 vimgrep **/*. cpp **/*. cxx **/*. hpp를 실행하면 vim이 모든 파일을 이미 메모리에로드 했으므로 파일 IO를 수행하지 않습니다.Vim, vimgrep 및 파일 캐싱
어떻게하면됩니까?
Thakns!
전체 소스 코드베이스는 < 20MB입니다. 백그라운드에서 메모리에 모두로드되기를 원합니다. 따라서 vimgrep **/*. cpp **/*. cxx **/*. hpp를 실행하면 vim이 모든 파일을 이미 메모리에로드 했으므로 파일 IO를 수행하지 않습니다.Vim, vimgrep 및 파일 캐싱
어떻게하면됩니까?
Thakns!
다시 처리 된 파일을 복사하기 위해 당신이 할 때 :vimgrep
다음 정력 대신 디스크에있는 파일의 버퍼를 검색합니다, 그래서 당신은 할 수 잊지 마세요 명령 줄에있는 모든 파일과 정력을 시작 :
$ vim *.cpp *.cxx *.hpp
... vim loads...
:vimgrep /stuff/ *.cpp *.hpp
ramfs 파티션 (휘발성)에 파일을 복사하고 그곳에서 작업하십시오. 파일이 이미 버퍼에로드 된 경우와 비 휘발성 파티션
이 바로 IO 빨리하게,하지만 여전히 커널의 파일을 통해 것입니다 IO 인터페이스. 회전 디스크를 읽는 것이 좋지만 결과를 프로그램에 캐싱하는 것이 좋지는 않습니다. 더욱이, 커널의 캐싱 메커니즘이 여러분이 할 수있는 것보다 더 잘 처리 할 수 있으며 영구 저장 장치로 다시 저장하는 것을 잊지 않아도됩니다. 속도를위한 RAM 디스크는 일반적으로 결함있는 OS 캐싱 메커니즘을 극복하기위한 해킹입니다. – dmckee
즉, 램 디스크는 가장 많은 유스 케이스에 대해 이렇게 빨리 꺼낼 수있는 가장 빠른 방법이며, 노력의 10 %에 해당하는 값의 90 %를 얻습니다. –
내가'체크 아웃하는 것이 좋습니다 ack' : http://betterthangrep.com –