Làm cách nào để tăng tốc độ tạo chương trình nghị sự ở chế độ org


11

Phải mất vài giây để Emacs org-mode tạo chương trình nghị sự của tôi. Làm thế nào tôi có thể làm cho nó nhanh hơn? Tôi đã sử dụng các tệp lưu trữ và tôi có ít hơn 30 .orgtệp, tất cả chúng đều ngắn.

Đầu ra profiler một phần của org-agendalệnh:

+ ...                                                              93  50%
- command-execute                                                  90  49%
 - call-interactively                                              85  46%
  - org-agenda                                                     80  43%
   - byte-code                                                     80  43%
    - call-interactively                                           79  43%
     - org-agenda-list                                             79  43%
      - byte-code                                                  79  43%
       - org-agenda-prepare                                        68  37%
        - org-agenda-prepare-buffers                               67  36%
         - byte-code                                               67  36%
          - org-get-agenda-file-buffer                             67  36%
           - find-file-noselect                                    67  36%
            - find-file-noselect-1                                 67  36%
             - after-find-file                                     66  36%
              + run-hooks                                          35  19%
              + normal-mode                                        30  16%
              + auto-save-mode                                      1   0%
             + normal-backup-enable-predicate                       1   0%
        + org-agenda-files                                          1   0%
       + byte-code                                                 10   5%
         org-days-to-iso-week                                       1   0%
    + org-agenda-get-restriction-and-command                        1   0%   
  + byte-code                                                       4   2%   
  + minibuffer-complete                                             1   0%

Có vẻ như chế độ org lãng phí rất nhiều thời gian để mở các tệp. Bạn có thể thấy các cải tiến nếu bạn chỉ giữ các bộ đệm này luôn mở.
Malabarba

Câu trả lời:


9

Tôi đã tạo ra cách giải quyết này, tạo ra bộ đệm chương trình nghị sự bất cứ khi nào Emacs không hoạt động trong hơn 5 giây. Lần tiếp theo lệnh chương trình nghị sự được chạy, việc tạo ra mất ít hơn một giây, vì bộ đệm org đã được tải.

(run-with-idle-timer 5 nil (lambda () (org-agenda-list) (delete-window)))

6

Không hoàn toàn là một câu trả lời cho câu hỏi của bạn, nhưng hãy xem xét (setq org-agenda-sticky t). Điều này làm cho qlệnh chôn bộ đệm chương trình nghị sự khi bạn hoàn thành với nó, thay vì đóng nó.

Kết quả của việc này là chương trình nghị sự sẽ xuất hiện lại ngay lập tức khi bạn yêu cầu lần sau, nhưng nó sẽ không được cập nhật kể từ lần cuối bạn nhìn thấy nó. Nếu bạn muốn nó được cập nhật, bạn luôn có thể nhấn gtrong chương trình nghị sự để xây dựng lại nó đúng cách.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.