start-up – ¿Por qué Emacs tarda más en iniciarse en Windows que en Linux?

Pregunta:

Configuración:

  • Un sistema
  • Sistema operativo Windows 10 como arranque dual
  • SO Ubuntu 15.10 como arranque dual
  • Emacs 25.0.1 con GUI

Tengo un archivo dot-emacs y todo en mi carpeta .emacs.d (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 de dot-emacs y .emacs.d desde la carpeta de inicio en Windows a las ubicaciones en Dropbox.

En Linux / Ubuntu 15.10: también he .emacs.d simbólicamente dot-emacs y .emacs.d desde mi carpeta de inicio de Ubuntu (/ home / user / a las ubicaciones en Dropbox.

De modo que 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, por lo que 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 sistemas operativos 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.

Estoy luchando por entender por qué Emacs tiene un tiempo de inicio notablemente más corto en Ubuntu que en Windows.

Respuesta:

Artículo de opinión: Windows es lento.

Utilizo regularmente Emacs tanto en Windows (Cygwin y nativo) como en GNU / Linux (Arch), y también me he dado cuenta de esto. Creo que la respuesta es que Linux es simplemente más rápido que Windows en muchas áreas, sobre todo 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. De hecho, es tan lento 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.

Hacer time git status en la rama maestra de Emacs toma un promedio de 0.025 segundos en Arch para mí. En Windows (nativo), toma 0.075-0.100 segundos, Windows (cygwin) 0.200 segundos. Puede que no parezca mucho, pero eso significa que es 3-4 veces más lento en Windows.

También debo señalar que cierto software antivirus (McAfee, en particular) puede causar ralentizaciones masivas. Con el Escáner en tiempo real de McAfee habilitado, las cosas son notablemente más lentas para mí. ¡El git status de Cygwin puede tardar hasta 2 minutos! Solo después de apagarlo obtengo los tiempos indicados anteriormente.


Aparte: Acabo de encontrar la variable magit-refresh-verbose , que multiplica el estado se actualiza. Aquí hay algunos momentos para actualizar el magit-status en la rama maestra de Emacs:

Windows (nativo)

GNU Emacs 24.5.1 (i686-pc-mingw32) of 2015-04-11 on LEG570
Magit 20151028.1649, Git 2.6.1.windows.1, Emacs 24.5.1
Refreshing buffer `*magit: emacs'...done (9.317s)
Refreshing buffer `*magit: emacs'...done (9.318s)
Refreshing buffer `*magit: emacs'...done (9.357s)

Windows (cygwin)

GNU Emacs 25.0.50.1 (i686-pc-cygwin) of 2015-07-29 on NAND-LT
Magit 20151015.22, Git 2.5.0.234.gefc8a62, Emacs 25.0.50.1
Refreshing buffer `*magit: emacs'...done (4.609s)
Refreshing buffer `*magit: emacs'...done (4.720s)
Refreshing buffer `*magit: emacs'...done (4.626s)

GNU / Linux (Arch, peor hardware, VPS)

GNU Emacs 25.0.50.6 (x86_64-unknown-linux-gnu, GTK+ Version 3.18.2) of 2015-10-26
Magit 20151028.1649, Git 2.6.2, Emacs 25.0.50
Refreshing buffer ‘*magit: emacs’...done (0.517s)
Refreshing buffer ‘*magit: emacs’...done (0.507s)
Refreshing buffer ‘*magit: emacs’...done (0.523s)

La velocidad más rápida de Cygwin me sorprendió.

  1. http://www.slideshare.net/PrincipledTechnologies/comparing-file-system-performance-red-hat-enterprise-linux-6-vs-microsoft-windows-server-2012

  2. https://stackoverflow.com/questions/12878980/speed-performance-of-a-qt-program-windows-vs-linux

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım