This benchmark is unsuitable as a compiler benchmark:
- It forks itself hundreds of times per second (in order to reset to a clean state after an iteration). This makes it more a test for the operating system than of code produced by the compiler. This also leads to performance noise depending on the OS.
- Profiling the code (of a single run without fork) shows 60-70% of the time is spend in fputs and fputc which is just testing your libc and OS again.
This test is often showing huge performance jumps for me and is a waste of
time when you have to check whether compiler changes have led to any (real)
regressions.
I hereby propose it for deletion from the test-suite.