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

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

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

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 dos meus scripts perl demoram muito para terminar. Nesses casos, posso usar qualquer outro comando do Linux para tornar a execução mais rápida?

Responder1

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 realiza algumas operações avançadas em strings e altera cada linha, de forma independente. Então, você poderia usar o GNU parallel– o programa projetado para executar programas em paralelo.

No entanto, você precisa sabero queseu programa faz e qual é o gargalo. Alguns programas se dividem em subprocessos menores por padrão, portanto você não obteria aceleração. Alguns programas usam muito o disco e, como esse é o gargalo, você não obterá nenhuma melhoria. Alguns programas possuem uma lógica que não pode ser utilizada nos arquivos divididos.

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 awko que altera a primeira e a segunda coluna. Isso não funciona tão bem quando você executa um programa que muda dogpara N, onde N é quantas vezes você viu a palavra dogaté agora.

Responder2

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 torná-lo rspd.plmais rápido, você deve primeiro saber o que ele está fazendo. Por que é lento? CPU, RAM, rede ou E/S de disco? Isso é chamado de 'perfil', veja por exemplo https://stackoverflow.com/questions/4371714/how-do-i-profile-my-perl-programs

Responder3

Não.

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

Responder4

Armazene todas as bibliotecas perl na memória RAM, para que a execução seja mais rápida quando um script perl usar muitas delas.

informação relacionada