Eu tenho uma máquina inicializada com Arch Linux e Ubuntu (16.04).
Comecei recentemente a usar o editor de texto Kakoune e notei que o tempo de inicialização é drasticamente diferente, dependendo do sistema operacional que estou usando. No entanto, acredito que o problema subjacente é não devido ao kakoune diretamente.
Na inicialização, o kakoune executa vários scripts de shell para permitir a integração com x11 e tmux, git, realce de sintaxe / colorschemes, etc. Isso pode ser desativado para apenas carregar o editor 'vanilla' usando o -n
flag. / p>
O comando: kak -e q
iniciará o kakoune, executará todos os scripts de inicialização e sairá imediatamente.
No Arch:% time kak -e q
leva 1 segundo
time kak -n -e q
(nenhum script de shell) termina em menos de 20 milis .
No Ubuntu:
time kak -e q
leva cerca de 450 milis
time kak -n -e q
está novamente em 20 milis
Depois de aparar a gordura e remover alguns dos scripts de inicialização, eu percebi uma melhora em ambos os sistemas operacionais, proporcional à quantidade removida.
Eu fiz alguns benchmarks com UnixBench e descobri que as principais diferenças entre os dois sistemas são vistas na 'criação de processos' testes de 'e' shell scripts '.
The shells scripts test measures the number of times per minute a process can start and reap a set of one, two, four and eight concurrent copies of a shell scripts where the shell script applies a series of transformation to a data file.
Aqui está a saída relevante. Unidades em 'loops por segundo' são melhores:
Process creation (1 parallel copy of tests)
Arch: 3,822
Ubuntu: 5,297
Process creation (4 parallel copies of tests)
Arch: 18,935
Ubuntu: 30,341
Shell Scripts (1 concurrent) (1 parallel copy of tests)
Arch: 972
Ubuntu: 5,141
Shell Scripts (1 concurrent) (4 parallel copies of tests)
Arch: 7,697
Ubuntu: 24,942
Shell Scripts (8 concurrent) (1 parallel copy of tests)
Arch: 807
Ubuntu: 2,257
Shell Scripts (8 concurrent) (4 parallel copies of tests)
Arch: 1,289
Ubuntu: 3,001
Como você pode ver, o sistema Ubuntu funciona muito melhor.
Eu testei usando diferentes shells de login, emuladores de terminal, recompilando kakoune, removendo software desnecessário para limpar o disco, etc. Estou certo de que esse é o gargalo.
A minha pergunta é: o que posso fazer para investigar mais e melhorar o desempenho do sistema Arch Linux para corresponder ao Ubuntu? Devo procurar sintonizar o kernel?
Notas adicionais:
- os dois sistemas usam o mesmo tipo de sistema de arquivos (ext4)
- Eu costumo usar mais o sistema Archlinux e notei que o desempenho se degradou com o tempo
- Arch está em / dev / sda1 e tem ~ 200GB. O Ubuntu está em / dev / sda2, ~ 500GB. 1 TB HDD.
- Arco
uname -a
: Linux ark 4.14.13-1-ARCH #1 SMP PREEMPT Wed Jan 10 11:14:50 UTC 2018 x86_64 GNU/Linux
- Ubuntu
uname -a
: Linux sierra 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Obrigado