Back-End

24 jan, 2017

Sublime Text versus Visual Studio Code versus Atom Performance Test

aahung

Tem 1 artigos publicados com 100 visualizações desde 2017

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