I have a simple little C programs that forks 1-16 processes. In each process it does a loop incrementing a counter and then exits. The main program waits for all forks to end.
When I run this program with 1 process it takes 41 seconds to complete and with 16 processes it takes 23 seconds to complete all of them in total.
To me I can not see how 16 instances of the same programs can reliably finish faster than 1 instance.
Any theories would be welcome.