Configuración:
- Un sistema
- OS Windows 10 como arranque dual
- Sistema operativo Ubuntu 15.10 como arranque dual
- Emacs 25.0.1 con GUI
Tengo un dot-emacs
archivo y todo en mi .emacs.d
carpeta (los paquetes también se encuentran en .emacs.d
). Todos estos archivos se encuentran en una carpeta de Dropbox.
En Windows 10: hice un enlace simbólico desde dot-emacs
y .emacs.d
desde la carpeta de inicio en Windows a las ubicaciones en Dropbox.
En Linux / Ubuntu 15.10: también hice un enlace simbólico desde dot-emacs
y .emacs.d
desde mi carpeta de inicio de Ubuntu (/ home / user /) a las ubicaciones en Dropbox.
Por lo tanto, todos los archivos relacionados con Emacs se almacenan en una carpeta de Dropbox en varios sistemas operativos.
Windows y Linux se ejecutan como arranque dual en el mismo disco, también el mismo hardware.
Cuando inicio Emacs en Windows, tarda 7.4 segundos en iniciarse.
Cuando inicio Emacs en Linux, solo toma 2.3 segundos para comenzar.
Esto es tanto con Emacs con GUI gráfica como con la versión 25.0.1. Ambos sistemas operativos están ubicados en la misma computadora en la misma unidad SSD. Entonces también es el mismo hardware.
Las siguientes cosas son idénticas en el sistema operativo (Windows 10 y Ubuntu 15.10):
- Software Emacs, versión 25.0.1
- Archivos de configuración (.emacs.d)
- Un disco duro (todos los archivos dentro de `.emacs.d) y ambos SO están en el mismo SSD).
- Hardware
Una diferencia:
- Emacs compilado para Windows o Linux se ejecuta en la plataforma Windows o Linux respectivamente. Esa es la única diferencia.
Me cuesta entender por qué Emacs tiene un tiempo de inicio notablemente más corto en Ubuntu que en Windows.
emacs -Q
.(message emacs-init-time)
para medir el tiempo de inicio. Por lo que sé, esto no está limitado a una función. Entonces, ¿cómo podría medirloemacs -Q
entonces?M-x emacs-init-time RET
Respuestas:
Artículo de opinión: Windows es lento.
Regularmente uso Emacs tanto en Windows (Cygwin y nativo) como en GNU / Linux (Arch), y también lo he notado. Creo que la respuesta es que Linux es simplemente más rápido que Windows en muchas áreas, especialmente en las operaciones del sistema de archivos 1 y las operaciones de subprocesamiento / bifurcación 2 .
Creo que la diferencia en el rendimiento se ejemplifica más notablemente cuando se usa git, y especialmente Magit (ya que ejecuta bastantes comandos para su búfer de estado). Git es terriblemente lento en Windows. Es tan lento, de hecho, que a menudo edito código en Windows en mi carpeta de Dropbox, espero a que se sincronice con mi VPS de Linux, y luego uso Magit a través de SSH, en lugar de simplemente usarlo en Windows.
Hacerlo
time git status
en la rama maestra de Emacs toma un promedio de 0.025 segundos en Arch para mí. En Windows (nativo), lleva 0.075-0.100 segundos, Windows (cygwin) 0.200 segundos. Puede que no parezca mucho, pero eso significa que es 3-4x más lento en Windows.También debo tener en cuenta que cierto software antivirus (McAfee, en particular) puede causar ralentizaciones masivas. Con el escáner en acceso de McAfee habilitado, las cosas son mucho más lentas para mí. ¡Cygwin's
git status
puede tomar hasta 2 minutos! Solo después de apagarlo obtengo los tiempos que indiqué anteriormente.Aparte: acabo de encontrar la variable
magit-refresh-verbose
, que veces el estado se actualiza. Aquí hay algunas ocasiones para actualizar elmagit-status
búfer en la rama maestra de Emacs:Windows (nativo)
Windows (cygwin)
GNU / Linux (Arch, peor hardware, VPS)
La velocidad más rápida de Cygwin me sorprendió.
http://www.slideshare.net/PrincipledTechnologies/comparing-file-system-performance-red-hat-enterprise-linux-6-vs-microsoft-windows-server-2012
/programming/12878980/speed-performance-of-a-qt-program-windows-vs-linux
fuente
exec-path
? ( stackoverflow.com/questions/16884377/… ) En mi caso, mejoró significativamente la velocidad.exec-path
.Quizás pueda intentar configurar el servidor emacs para que pueda tener una mejor experiencia. Usando este enfoque o ejecutando emacs como demonio, puede usar emacsclient para iniciar nuevas ventanas sin cargar otra instancia de emacs. Es un buen enfoque. No lo he probado en Windows, pero aquí hay un enlace que explica cómo usarlo. Espero que te ayude, hombre.
Servidor Emacs
fuente