2010-04-21 7 views
0

내 프로젝트의 소스 트리에서 파일을 빠르게 열 수있는 방법을 찾고 있습니다. 내가 지금까지 해왔 던 것은과 같이 파일 이름 캐시에 파일을 추가한다 : 나는 약 4 키 입력 소스 트리에있는 모든 파일에 액세스 아무것도를 위해 파일을 사용할 수 있습니다'프로젝트'에있는 파일에 빠르게 액세스하기

(file-cache-add-directory-recursively (concat project-root "some/sub/folder") ".*\\.\\(py\\)$") 

후 .

불행히도이 해결책은 오늘부터 시작되었습니다. 캐시에 또 다른 폴더를 추가했고 이맥스는 메모리가 부족하기 시작했습니다. 이상하게도이 폴더는 내가 추가 할 파일의 25 % 미만을 포함하지만 이맥스 메모리 사용은이 폴더를 추가 할 때 20MB에서 400MB로 증가합니다. 총 파일 수는 2000 개 정도이므로이 메모리 사용량은 매우 높습니다. 아마도 파일 캐시를 남용하고있을 것입니다.

어쨌든 다른 사람들이 이것을 어떻게합니까? 나는 단순성과 속도면에서이 솔루션을 좋아합니다. 나는 emacs를위한 많은, 많은 프로젝트 관리 패키지 중 일부를 보았고 그들 중 누구도 나를 붙잡고 있지 않았다. ...

미리 감사드립니다!

사이먼

+0

(명백한 것을 지적하십시오) 파일의 개수는 파일의 * 크기 *만큼 중요하지 않습니다. 문제는 파일을 Emacs로로드하는 이유는 무엇입니까? 실제로 500 개의 파일 (2000 년의 25 %)을 편집하고 있습니까? –

+0

doc을 읽고 여기에서 테스트하면 파일의 * size *가 중요하지 않다는 것을 알 수 있습니다. file-cache는 내용이 아닌 캐시하기 때문에 * number * 만 중요합니다. –

+0

사실 - Trey, 파일을 버퍼로 열지 않고 단순히 파일 찾기가 더 편리한 파일 이름 목록을 만드는 것입니다. 하루가 끝나면 나는 C-blah를 치고, 프로젝트의 어딘가에있는 파일 이름에서 몇 글자를 입력하고 리턴을 누르고 파일을 열 수 있기를 원한다. 파일 캐시가 사용하는 파일이 아닌가요? – bbbscarter

답변

2

여기서 테스트하는 것은 50000 파일에서 아무런 문제가 없다는 것입니다. (글쎄요, 잠시 기다려야 만했는데, 이맥스는 끝나면 48MB 만 사용합니다), 당신은 버그에 시달렸습니다. 아마보고해야합니다.

+0

정보를 제공해 주셔서 감사합니다. 필자는 이제 emacs 23.1에서 win32, cygwin, linux와 같은 폴더를 emacs -q로 모두 시도해 보았습니다. 메모리가 상당히 많이 스파이크를 유발합니다. 차이점은 리눅스에서는 다시 쓰러지는 반면, win32에서는 쓰레기 수거를 강요 한 후에도 높은 상태를 유지한다는 것입니다. 어쨌든, 그것은 좋은 것을 알고 있습니다 : a) 나의 접근 방식은 완전히 미친 것은 아니며 다른 사람들에게도 효과적입니다. b) 내가 부딪히는 문제는 아마도 버그 일 것입니다. 도움 주셔서 감사합니다. 사이먼 – bbbscarter

0

난 당신이 article을 살펴 좋을 것. Trey의 의견을 뒷받침해야합니다. 귀하의 접근 방식이 현재 매우 훌륭하다고 생각하지 않습니다.

+0

감사합니다 - FindFileInProject를 확인해 보겠습니다. – bbbscarter

관련 문제