Back-End

24 jan, 2017

Sublime Text versus Visual Studio Code versus Atom Performance Test

100 visualizações
Publicidade

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

Notas:

  • 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/.