| > What is also interesting is that while strace seems to report much less overhead in "./empty" compared to /bin/true That's because it reports an error and does not actually execute the file. >strace: exec: Erreur de format pour exec() `strace` uses one of the exec()-style functions that don't automatically invoke a shell here. And if it did, it would invoke an entire shell (/bin/sh, typically), which might have more overhead. ---- You need to be very careful when measuring this, because what happens is that a shell executes the shebangless empty file. If you try launching it from e.g. a C program using execlp(), it will have to first start that shell. If you try launching it from e.g. bash, it might directly run that in-process or at least after a fork() or similar, skipping some of the shell setup. So the overhead might depend on context. |