이 문제의 원인은 무엇입니까? Emacs에 의한 것이거나 내 PC의 성능 때문입니까? 일반적으로 Emacs의 성능에 영향을 미치는 변수는 무엇입니까?
Emacs에는 약 50,000 개의 내부 변수와 각각 수십 개의 변수에서 평균 수천 개의 외부 패키지가 있으며, 일반적인 의미에서 누군가가 이에 대해 답변 할 것으로 기대할 수 없습니다. :-)
당신은 당신의 질문 아래에 댓글 스레드를보고 그것을 볼 수 있습니다. 거기에는 십여 가지의 다른 제안이 있으며 모두 똑같이 유효합니다.
문제를 정확히 파악하기 위해 무엇을 할 수 있습니까?
옵션 1 : 비활성화 모드
나열된 마이너 모드를 비활성화하고 성능 문제를 해결하는 모드를 확인하십시오. 나는 시작하는 것 smartparens
, auto-complete
, line-number
및 font-lock
다음 목록을 따릅니다.
"어제이 문제가 없었습니다" 는 아주 작은 것을 의미 합니다. 너무 많이 의존하지 마십시오 . 문제가 해결 될 때까지 마이너 모드를 비활성화하십시오.
부 모드에서 문제가 해결되지 않으면이 문제를 일으키는 스 니펫을 찾을 때까지 init 파일의 일부를 주석 처리하십시오. 어쨌든 더 구체적인 것이 있으면 새로운 질문을하십시오.
옵션 2 : 프로파일 러
- 호출하십시오
M-x profiler-start RET RET
(두 번째 RET
는 확인하는 것입니다 cpu
).
- 바람직하게는 전체 단락 또는 그 이상을 입력하십시오.
- 를 호출하십시오
M-x profiler-report
.
각 함수가 사용하는 CPU 시간을 설명하는 버퍼를 제공합니다. TAB
라인에 치면 라인이 확장되어 그 안에 기능이 표시됩니다. 어떤 함수가 많은 CPU 시간을 소비하는지 알 때까지이 버퍼를 탐색하십시오.
나중에 어떻게해야합니까?
지연을 일으키는 함수 또는 패키지 또는 스 니펫을 찾으면 (특별한 순서없이) 다음을 수행 할 수 있습니다.
- 특정 마이너 모드 (또는 기능 또는 스 니펫) 와 관련하여 여기에 새로운 질문을하십시오 .
- 패키지 관리자에게 버그를보고하십시오.
- 패키지 소스 파일 상단의 주석을 확인하십시오. URL (특히 github)이 포함되어 있으면 문제 추적기가있을 수 있습니다.
- 일부 패키지는 다음과 같은 명령을 제공합니다
M-x PACKAGE-bug-report
.
- 그의 이메일은 패키지 소스 파일의 맨 위에 있어야합니다.
- 내장 패키지 인 경우로 신고 할 수 있습니다
M-x report-emacs-bug
.
- 기본 제공 패키지가 아닌 경우에도
help-gnu-emacs
메일 링리스트 에서 도움을 요청할 수 있습니다 .
C-h m
주요 모드와 활성화 된 모든 부 모드가 표시됩니다. 원인을 추적 할 때까지 각 부 모드를 천천히 비활성화 할 수 있습니다. 주요 모드 자체가 될 수 있지만 부 모드는 가장 의심스러운 부분입니다. 사용중인 모드를 지정하지 않으면 여기있는 모든 사람이 문제와 관련하여 어두워 질 것입니다. 일부 특수 이미지에서 발생하는 드문 상황이 있습니다 (예 : 누군가가 iPhone에 전화 기호 또는 다른 특수 기호가있는 이메일을 보내는 경우). 이는 특수 기호로 인해 격리 된 속도 저하 문제입니다.