Wie beschleunige ich die Erstellung der Agenda im Org-Modus?


11

Es dauert einige Sekunden, bis der Emacs-Organisationsmodus meine Agenda erstellt hat. Wie kann ich es schneller machen? Ich verwende bereits Archivdateien und habe weniger als 30 .orgDateien, die alle ziemlich kurz sind.

Teilweise Profilerausgabe des org-agendaBefehls:

+ ...                                                              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%

Es scheint, dass der Organisationsmodus viel Zeit damit verschwendet, die Dateien zu öffnen. Möglicherweise sehen Sie Verbesserungen, wenn Sie diese Puffer immer offen halten.
Malabarba

Antworten:


9

Ich habe diese Problemumgehung erstellt, die einen Agenda-Puffer vorgeneriert, wenn Emacs länger als 5 Sekunden inaktiv ist. Bei der nächsten Ausführung des Agenda-Befehls dauert die Generierung weniger als eine Sekunde, da die Organisationspuffer bereits geladen wurden.

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

6

Nicht ganz eine Antwort auf Ihre Frage, aber überlegen Sie (setq org-agenda-sticky t). Dadurch wird der qBefehl den Agenda-Puffer begraben, wenn Sie damit fertig sind, anstatt ihn zu schließen.

Dies hat zur Folge, dass die Agenda sofort wieder angezeigt wird, wenn Sie das nächste Mal danach fragen. Sie wurde jedoch nicht aktualisiert, seit Sie sie das letzte Mal gesehen haben. Wenn Sie möchten, dass es aktualisiert wird, können Sie jederzeit gauf die Agenda klicken, um es ordnungsgemäß neu zu erstellen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.