Falando de editor de texto, eu tenho usado Sublime Text por cerca de três anos e não tenho problemas com ele. Eu tentei o Atom um ou dois anos atrás e fiquei impressionado com sua comunidade ativa (GitHub! Eu adoro GitHub). A UI, especialmente, me intrigou. A razão pela qual eu fiquei com o Sublime Text foi o desempenho: o Atom foi lento, mesmo depois de o Atom 1.0 ter sido anunciado. Recentemente, eu pesquisei no Google “Sublime Text vs Atom 2016”, tentando ver se o Atom tem alguma melhoria significativa quando eu encontrei o Visual Studio Code. O Visual Studio também é construído usando tecnologia web como o Atom, mas os analistas disseram que é mais rápido. Então, eu quero fazer um teste e descobrir sua diferença de desempenho.
# Versões do editor
Editor | Versão |
---|---|
Sublime Text | 3 beta, build 3126 |
Atom | 1.12.7 |
Visual Studio Code | 1.8.1 |
TextEdit | 1.12 (329) |
# Metodologia
O hardware que testei era um MacBook Pro 2016 de 13 polegadas com Touch Bar (com CPU Intel Core i5 de 2,9 GHz e 8 GB 2133 MHz LPDDR3 RAM rodando o macOS Sierra 10.12.2). Todos os programas que eu pude ver estavam fechados. O estoque de macOS TextEdit foi usado como uma referência.
## Tempo de lançamento
Cada editor foi lançado do Dock clicando no ícone. Eu gravei o tempo entre clicar no ícone e o momento em que a primeira janela estava completamente carregada.
## Tempo de abertura da janela
Cada editor foi aberto primeiro com todas as janelas fechadas depois. Eu gravei o tempo entre clicar em “New Window” a partir do menu no Dock (ou seus equivalentes) e o momento em que a primeira janela estava completamente carregada.
## Tempo de abertura de arquivos
Cada editor foi lançado primeiro com uma janela aberta. Um arquivo foi arrastado do Finder para sua janela. Eu gravei o tempo entre o arquivo sendo liberado e o momento em que o arquivo estava completamente carregado.
### Geração de arquivos
Quatro arquivos contendo linhas 10k, 100k, 1m e 10m foram gerados pelo seguinte script Python. Os tamanhos dos arquivos foram 370KB, 3,7MB, 37MB e 370MB, respectivamente.
template = ''' #include <iostream> int main() { return 0; } /* %s */ ''' string = 'abcdefghijklmnopqrstuvwxyz1234567890\n' with open('test-10k.cpp', 'w') as f: f.write(template % (string * 10000,)) with open('test-100k.cpp', 'w') as f: f.write(template % (string * 100000,)) with open('test-1m.cpp', 'w') as f: f.write(template % (string * 1000000,)) with open('test-10m.cpp', 'w') as f: f.write(template % (string * 10000000,))
## Tempo de abertura de arquivos
Cada editor foi lançado primeiro com um arquivo carregado. Eu usei Activity Monitor para adicionar memória usada por todos os seus processos. O arquivo usado foi o 370KB em testes “Files Open Time”.
# Resultado
## Tempo de lançamento
- TextEdit não abre uma janela de edição ao iniciar. Em vez disso, mostra uma janela do seletor de arquivos.
## Tempo de abertura de janela
- TextEdit tem uma animação pop-up ao abrir uma janela, o que diminui a velocidade um pouco.
## Tempo de abertura de arquivos
Notas:
- O Atom não conseguiu abrir o arquivo “1m lines” e relatou “queda” após cerca de 40 segundos.
- O Visual Studio Code não me permitiu abrir o arquivo “10m lines” dizendo “muito grande”.
- O Atom não pôde manter o destaque de sintaxe ao abrir o arquivo “100k lines”.
- Visual Studio Code não pôde manter o destaque de sintaxe ao abrir o arquivo “1m lines”.
- O TextEdit não tem o recurso de destaque de sintaxe.
- O TextEdit tem uma animação pop-up ao abrir um arquivo, o que diminui a velocidade um pouco.
## Uso de memória
# Conclusão
Atom e Visual Studio Code tiveram uma performance significativamente pior em comparação com Sublime Text e TextEdit: o lançamento e a abertura de janelas são segundos mais lentos, o que é perceptível, e ocupam muito mais memória RAM. Visual Studio Code tem vantagens sobre o Atom na abertura de arquivos e no uso de RAM. Ele poderia lidar com arquivos maiores e lidar com eles mais rápido do que o Atom. Quando eu testei o arquivo de 3,7 MB, ele abriu em 1 segundo, enquanto Atom levou mais de 2 segundos. Sublime Text ainda é o rei rápido, Visual Studio Code é o segundo e Atom é o último. Palavras extras: eu começo a usar o Visual Studio Code para substituir Sublime Text a partir deste mês, parece mais divertido.
***
aahung faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: https://blog.xinhong.me/post/sublime-text-vs-vscode-vs-atom-performance-dec-2016/.