Comparação de desempenho entre binário e script

0

Se eu quiser implementar algumas funcionalidades no Linux (por exemplo, abrir, copiar, compactar, excluir, esperando eventos), é melhor implementá-lo em C ++ e executar o binário como um processo ou implementá-lo em um script de shell?

Supondo que eu ignore os detalhes da implementação, gostaria de agora, durante o início do binário como um processo, quantas memória e carga de cpu serão consumidas em comparação com o início do script de shell?

Obrigado em avançado.

    
por why2 19.03.2018 / 10:31

1 resposta

1

Vai fazer diferença na velocidade? Sim um Não

Se você estiver implementando um algoritmo de compressão em um script, então será muito mais lento que o que pode ser feito em C ++.

Se você está apenas chamando uma função de biblioteca / comando para fazer isso, então haverá pouca diferença. O tempo será dominado pela compressão feita pela biblioteca-função / comando preexistente. File-open, file-copy, file-delete e wait são feitos pelo kernel, muito pouco é feito no aplicativo, então, novamente, pouca mudança.

No entanto, as únicas maneiras de saber, é medir ambos.

Algumas regras de otimização

  • Coloque-a em funcionamento e, se necessário, torne-a rápida / pequena.
  • otimize a legibilidade.
  • Otimize a velocidade, somente depois de ter evidências de que não é rápido o suficiente .
  • Ao otimizar a velocidade, meça ambas as implementações, não assuma que uma é mais rápida (você provavelmente estará errado).
  • Nunca otimize para o melhor caso, otimize para casos piores ou médios.
por 19.03.2018 / 10:56