Como acelerar a geração de agendas no modo organizacional


11

Demora alguns segundos para o Emacs org-mode gerar minha agenda. Como posso torná-lo mais rápido? Já estou usando arquivos compactados e tenho menos de 30 .orgarquivos, todos razoavelmente curtos.

Saída parcial do criador de perfil do org-agendacomando:

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

Parece que o modo organizacional perde muito tempo abrindo os arquivos. Você poderá ver melhorias se apenas manter esses buffers sempre abertos.
Malabarba 7/10

Respostas:


9

Eu criei essa solução alternativa, que gera um buffer de agenda sempre que o Emacs fica ocioso por mais de 5 segundos. Na próxima vez em que o comando agenda for executado, a geração leva menos de um segundo, pois os buffers da organização já foram carregados.

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

6

Não é exatamente uma resposta para sua pergunta, mas considere (setq org-agenda-sticky t). Isso faz com que o qcomando enterre o buffer da agenda quando você terminar com ele, em vez de fechá-lo.

O resultado disso é que a agenda reaparecerá imediatamente quando você solicitar, mas não será atualizada desde a última vez que a viu. Se você deseja atualizá-lo, sempre pode pressionar ga agenda para reconstruí-lo adequadamente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.