Se eu quiser implementar algumas funcionalidades no Linux (por exemplo, abrir, copiar, compactar, excluir, aguardar 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, quanta memória e carga de CPU serão consumidas em comparação com o início do script de shell?
Vai fazer diferença na velocidade? sim e não
Se você estiver implementando um algoritmo de compactação em um script, ele será muito mais lento do que o que pode ser feito em C++.
Se você estiver apenas chamando uma função / comando de biblioteca para fazer isso, haverá pouca diferença. O tempo será dominado pela compactação feita pelo comando / função de biblioteca pré-existente. Abertura de arquivo, cópia de arquivo, exclusão de arquivo e espera são feitos pelo kernel, muito pouco é feito no aplicativo, portanto, novamente, pouca mudança.
No entanto, a única maneira de saber é medir os dois.
Algumas regras de otimização