Por lo que entiendo, requirese usa para cargar grandes fragmentos de código (algo así como módulos) aunque también puede cargar funciones individuales.
La carga automática en el otro lado, solo registra funciones y difiere la carga al tiempo de ejecución.
Recientemente leí un artículo que aboga por el uso autoloadexclusivo.
¿Es mejor autoloadque que require? ¿Cuáles son algunos casos de uso típicos para cada uno de estos?

autoloadyrequirede esta pregunta. Agregar etiquetalibrariesestaba bien, pero ahora cualquiera que busque, use etiquetas, para preguntas sobreautoloadorequireno encontrará esta. Ambas son funciones importantes de Emacs-Lisp que las personas buscarán. Demasiado. Y piense cuán útilelispylibraries(especialmenteelisp) será realmente en la práctica para un sitio de Emacs: me temo que no distinguen mucho en Emacsland. (Pero no, no estoy en contra de tenerlos y usarlos.)autoloadyrequirecreo que esas etiquetas están justificadas. De hecho, etiquetar esta pregunta [solo] conlibrarieses demasiado generalizante. Por mi parte, pararequireactivar la carga de "my-foobar-cfg", que, como su nombre indica, solo contiene mi configuración, no una biblioteca.Respuestas:
autoloadno es un sustituto derequire. Normalmenterequirese usa para asegurarse de que se carga un determinado archivo.autoloadpor otro lado, le da a Emacs una pista sobre en qué archivo encontrar una función determinada sin cargar el archivo de inmediato. Solo cuando se llama a la función de carga automática se carga el archivo correspondiente.Básicamente con
autoloadusted puede retrasar la carga de un archivo completo hasta el momento en que realmente lo necesite. Esta es la razón por la cual los paquetes (especialmente grandes) generalmente definen sus funciones de entrada comoautoloads.Si desea hacer personalizaciones pesadas para un paquete, generalmente no tiene suerte
autoload. Si todavía desea evitarrequire, puede diferir sus personalizaciones hasta después de que el archivo se haya cargado utilizandoeval-after-load.El manual de Emacs cubre este tema en las siguientes secciones:
fuente
autoloadtrata (más o menos) de proporcionar definiciones de comandos, por lo que puede usar esos comandos.requirese trata de hacer que todo en una biblioteca (y en las bibliotecas que la biblioteca requiere, de forma recursiva) esté disponible. Hay más en Emacs que comandos. (Pero sí, por supuesto, una vez que se invoca un comando autocargado, se carga toda su biblioteca).En términos de inicialización de Emacs, no haga ninguna elección. El usuario de GitHub jwiegley tiene la excelente macro de declaración de paquete de uso , que requerirá o cargará automáticamente un paquete según lo determine la necesidad. Se utiliza mejor para diferir la carga de paquetes que se pueden cargar a pedido.
fuente
Si desea que una determinada característica se cargue y esté disponible directamente cuando su Emacs se haya iniciado, use require, de lo contrario use la carga automática. Personalmente valoro mucho el tiempo de inicio (en realidad reinicio Emacs un par de veces por semana, a veces varias veces por día), por lo que acepto que tomará un poco de tiempo cuando Emacs carga automáticamente una determinada función cuando la necesito. Entonces, piense en lo que desea que esté disponible directamente después de que se inicie Emacs y qué se puede cargar cuando sea necesario.
fuente