in reply to Fork vs pThreads

You're not really blocked, all the work is done and you're just waiting for the fork doing the most work.

In your example you've got 50 units of work, while (i<50), and 50 forks, so the total time is limited by the fork that take the longest. Try reducing the number of forks and see what happens.