I have been wondering about some issue for some time now and I hope that someone will be able to clear it up for me.

When a PHP page is sent to be parsed and then its results are sent via the Web server to the client is streaming taking place?
Is the entire page first parsed generating a complete HTML page and only then is the page returned to the client?
Or maybe the PHP engine sending pieces of the code as soon as they are ready to the Web server. Meaning that some output is being sent to the client while the rest of the page is still being processed.

Here is a hypothetical example.
Assume I wrap the entire page with:
... content here
$content = ob_get_contents();
print $content;
Will that be a very inefficient in terms the time the client will have to wait for the reponse than simply writing:
... content here


thanks in advance