Por que o Vim pode abrir arquivos grandes com mais rapidez do que alguns outros editores de texto?

10

Ao abrir grandes arquivos de log (bem, não que grande, mas 80mb ainda é muito texto!), eu sempre usei o Vim desde que ele os carrega quase que instantaneamente. Outros editores de texto, como o Notepad, o Notepad ++, etc, terão > 10 segundos para processar e carregar o arquivo. Qual é a razão para isto? O que faz o Vim tão rápido?

    
por Anonymous 24.07.2012 / 15:27

1 resposta

16

Há uma infinidade de truques que os editores podem usar para otimizar o processamento de arquivos grandes.

Um é trabalhar apenas com o que eles precisam. Isso significa não tentar analisar o arquivo inteiro para coisas como contagem de linhas, medidas de largura, quebra automática de palavras, realce de sintaxe, validação de XML, renderização de HTML, desfazer, etc. Há o Plugin LargeFile disponível para o Vim, que desabilitará vários recursos do Vim quando um arquivo" grande "(como definido pelo usuário) for aberto. A página Carregamento mais rápido de arquivos grandes no wiki do Vim menciona alguns dos recursos desativados: ignore filetype (para realce de sintaxe / parsing) , desative desfazer, mude para o modo somente leitura. Há outras mudanças também, mas elas parecem estar voltadas para a conservação da memória do que a velocidade.

Outra é o mapeamento de memória. Em vez de ler todo o arquivo na memória, informe ao SO subjacente para mapear uma visualização do arquivo diretamente no espaço de memória do processo. Eu não tenho certeza se o Vim em particular faz isso, mas outros editores podem fazer isso.

Esses são provavelmente os maiores 2, mas certamente há mais.

    
por 24.07.2012 / 15:52