Na verdade, a execução de um arquivo de script gerará um novo processo de shell enquanto o script não é fornecido, portanto, sua premissa está errada. Mesmo se não fosse:
1) A configuração sugerida não funcionará porque as funções não serão visíveis fora do shell recém-criado.
2) A diferença entre o tempo de execução de um script originado e um script executável é insignificante.
3) A configuração sugerida terminará tendo mais arquivos executados.
Scripts de shell (que são interpretados) são feitos para clareza e praticidade e não para altos desempenhos, como programas C compilados. O que basicamente você está tentando fazer aqui (no caminho errado!) É afinar um carrinho de burro.