So, I found this very interesting to read.
I created an empty file, a la the original true, named truth and placed it at the beginning of my $PATH.
$ time truth
real 0m0.002s
user 0m0.000s
sys 0m0.003s
I then realized that since true is a builtin, I'd need to call the true binary with its full path. I'd hate to give one an unfair advantage by having to search the path vs being called by name. So....
$ time /usr/bin/true
real 0m0.001s
user 0m0.000s
sys 0m0.000s
$ time /usr/local/sbin/truth
real 0m0.003s
user 0m0.000s
sys 0m0.000s
$ time true # The builtin
real 0m0.000s
user 0m0.000s
sys 0m0.000s
Clearly my 2KB true binary is superior to an empty file. The builtin (obviously) outperforms both, by at least one order of magnitude (estimated).
This post is not intended to be a serious performance comparison.