Configuração:
- Um sistema
- SO Windows 10 como inicialização dupla
- OS Ubuntu 15.10 como inicialização dupla
- Emacs 25.0.1 com GUI
Eu tenho um dot-emacs
arquivo e tudo na minha .emacs.d
pasta (os pacotes também estão localizados .emacs.d
). Todos esses arquivos estão localizados em uma pasta do Dropbox.
No Windows 10: I simbolicamente a dot-emacs
e .emacs.d
da pasta base no Windows para os locais em Dropbox.
No Linux / Ubuntu 15.10: Também vinculei a dot-emacs
e .emacs.d
da minha pasta inicial do Ubuntu (/ home / user / para os locais no Dropbox.
Portanto, todos os arquivos relacionados ao Emacs são armazenados em uma pasta do Dropbox em vários sistemas operacionais.
Windows e Linux estão sendo executados como inicialização dupla no mesmo disco, também com o mesmo hardware.
Quando inicio o Emacs no Windows, leva 7,4 segundos para iniciar.
Quando inicio o Emacs no Linux, leva apenas 2,3 segundos para iniciar.
Isso ocorre com o Emacs com GUI gráfica e a versão 25.0.1. Ambos os sistemas operacionais estão localizados no mesmo computador na mesma unidade SSD. Portanto, também é o mesmo hardware.
O seguinte é idêntico no sistema operacional (Windows 10 e Ubuntu 15.10):
- Software Emacs, versão 25.0.1
- Arquivos de configuração (.emacs.d)
- Um disco rígido (todos os arquivos dentro de `.emacs.d) e os dois SOs estão no mesmo SSD).
- Hardware
Uma diferença:
- O Emacs compilado para Windows ou Linux está sendo executado na plataforma Windows ou Linux, respectivamente. Essa é a única diferença.
Estou lutando para entender por que o Emacs tem um tempo de inicialização visivelmente menor no Ubuntu do que no Windows.
emacs -Q
.(message emacs-init-time)
medir o tempo de inicialização. Isso não está limitado a uma função, tanto quanto eu sei. Então, como eu poderia medir isso comemacs -Q
isso?M-x emacs-init-time RET
Respostas:
Artigo: O Windows está lento.
Uso regularmente o Emacs no Windows (Cygwin e nativo) e no GNU / Linux (Arch), e notei isso também. Acredito que a resposta é que o Linux é muito mais rápido que o Windows em muitas áreas, principalmente nas operações do sistema de arquivos 1 e nas operações de rosqueamento / bifurcação 2 .
Eu acho que a diferença de desempenho é mais notavelmente exemplificada ao usar o git, e especialmente o Magit (já que ele executa alguns comandos para seu buffer de status). O Git é terrivelmente lento no Windows. Na verdade, é tão lento que eu frequentemente edito o código no Windows na minha pasta Dropbox, espero que seja sincronizado com o VPS do Linux e depois uso o Magit via SSH, em vez de simplesmente usá-lo no Windows.
Fazer
time git status
no ramo mestre do Emacs leva em média 0,025 segundos no Arch para mim. No Windows (nativo), leva 0,075-0,100 segundos, Windows (cygwin) 0,200 segundos. Isso pode não parecer muito, mas significa que é 3-4x mais lento no Windows.Devo também observar que certos softwares antivírus (McAfee, em particular) podem causar lentidão em massa. Com o On-Access Scanner da McAfee ativado, as coisas ficam notavelmente mais lentas para mim. O Cygwin's
git status
pode levar até 2 minutos! Somente depois de desligá-lo é que obtenho o tempo indicado acima.Além: Acabei de encontrar a variável
magit-refresh-verbose
, que vezes o status é atualizado. Aqui estão alguns momentos para uma atualização domagit-status
buffer no ramo principal do Emacs:Windows (nativo)
Windows (cygwin)
GNU / Linux (Arch, pior hardware, VPS)
A velocidade mais rápida de Cygwin me surpreendeu.
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
fonte
exec-path
? ( stackoverflow.com/questions/16884377/… ) No meu caso, melhorou significativamente a velocidade.exec-path
.Talvez você possa tentar configurar o emacs-server para ter uma experiência melhor. Usando essa abordagem ou executando o emacs como um daemon, você pode apenas usar o emacsclient para iniciar novas janelas sem carregar outra instância do emacs. É uma boa abordagem. Eu não testei no Windows, mas aqui está o link que explica como usá-lo. Espero que ajude você cara.
Servidor Emacs
fonte