Existe algum comando do Linux para acelerar a execução dos arquivos?

1

Eu gostaria de saber se existe algum comando linux para executar o arquivo perl mais rápido?

Eu usei o seguinte comando para verificar o tempo de execução:

time ./rspd.pl

saída:

1.003u 0.480s 3:34.90 0.6% 0+0k 56+5520io 0pf+0w

Alguns de meus scripts perl demoram muito tempo para concluir. Nesses casos, posso usar qualquer outro comando do Linux para tornar a execução mais rápida?

    
por sub routine 27.10.2016 / 14:40

4 respostas

2

A única resposta é não . Não existe um comando genérico para acelerar outro executável arbitrário como o seu script perl.

Para tornar seu rspd.pl mais rápido, você deve saber primeiro o que está fazendo. Por que isso é lento? CPU, RAM, Rede ou I / O de disco? Isso é chamado de 'criação de perfil', veja por exemplo link

    
por 27.10.2016 / 23:23
4

Depende.

De um modo geral, não. Você não pode fazer isso.

No entanto, às vezes você pode. Por exemplo, digamos que você tenha um programa que faça algumas operações avançadas em strings e altere cada linha, independentemente. Então, você poderia usar o GNU parallel - o programa projetado para rodar programas em paralelo.

No entanto, você precisa saber o que seu programa faz e qual é o gargalo. Alguns programas se dividem em subprocessos menores por padrão, então você não obteria nenhum aumento de velocidade. Alguns programas usam muito o disco e, como esse é o gargalo, você não obterá melhorias. Alguns programas têm uma lógica que não pode ser usada nos arquivos divididos.

O GNU Parallel divide o arquivo em partes menores e executa o script em cada parte, mesclando os resultados. Isso funciona bem se você executar algo como awk , que altera a primeira e a segunda coluna. Isso não funciona tão bem quando você executa um programa que muda dog para N, onde N é quantas vezes você viu a palavra dog até agora.

    
por 27.10.2016 / 14:57
1

Não.

O melhor que você pode fazer é usar um comando para distribuir em diferentes threads e, portanto, talvez diferentes núcleos, tornando-o mais rápido. Por exemplo, dê uma olhada em GNU Parallel .

    
por 27.10.2016 / 14:43
-2

Armazena todas as bibliotecas perl no RAM, então a execução será mais rápida quando um script perl usar muitos deles.

    
por 27.10.2016 / 14:44