Quelqu'un pourrait-il me dire comment Emacs gère cela, même avec des milliers de fichiers .el?
Emacs «gère» cela en ne se chargeant pas au démarrage, ce qui ne retarde pas le chargement de l'application principale. Ceci à son tour comme effet de rendre plus rapidement le contrôle du clavier à l'utilisateur.
Mais quand est-il chargé? Lors de la première utilisation de cette fonction, de ce mode ou de cette fonctionnalité.
Ça ne ralentit pas? Oui, lors de la première utilisation. Voilà le compromis. Souhaitez-vous ralentir au démarrage d'emacs ou lors de la première utilisation.
Est-ce visible? Le chargement au démarrage semble prendre plus de temps car d'autres bibliothèques de base sont également chargées. Mais à la première utilisation, il semble plus rapide car seule cette fonction de sous-ensemble est chargée.
Alors pourquoi quelqu'un choisirait-il la charge au démarrage? Parce que certains ne craignent pas d'attendre pour charger toutes les bibliothèques fréquemment utilisées au démarrage, une fois chargées, toutes les opérations s'exécutent par la suite.
Comment choisir? Comme Drew et d'autres l'ont souligné dans leurs réponses à cette même question, vous pouvez utiliser le chargement automatique et des astuces similaires pour contrôler. Mais la considération la plus importante devrait être votre modèle d'utilisation. Si vous utilisez des emacs comme vi, en ouvrant et en fermant constamment, le temps de démarrage devient douloureusement évident. Mais d'un autre côté, si vous utilisez emacs tout le temps, le temps de démarrage de 1 seconde ou 1 minute ne sera pas aussi visible ou suffisamment important pour s'en soucier.
Notez que vous pouvez utiliser le mode batch ou Zile pour un démarrage instantané pendant le test, l'exécution ou autrement en utilisant emacs comme vi.
Ma préférence est de charger au démarrage afin que toutes les erreurs soient détectées dès le départ. Je préfère ne pas avoir à faire face à des erreurs de chargement au milieu d'une journée de travail lorsque j'ai d'innombrables tampons, modes et états de compilation actifs ainsi que plusieurs emplacements distants gérés par TRAMP. Le débogage des erreurs de chargement automatique dans de telles conditions n'est pas très agréable.
:defer t
dans vosuse-package
déclarations?