ob_start gets a whole system of data storage going and adding a new mechanism can't be great.
There have been endless discussions about performance and I've written speed tests and these have been debated here and elsewhere. In the end the bandwidth of your user is probably the greatest determinant of speed, not the processor.
So, basic recommendations:
Only echo from your main script
If you call a function return a string don't echo
If in a for or while loop build up a string and echo at the end
If you have variables within a string use {} around them to speed up the parsing
If you don't have variables within a string use single quotes
* echo is generally faster than print or sprint
and I guess I can now include
* don't use ob_start
Which is not to say NEVER but consider why you are using it. I use it in some instances where I want the functionality of var_dump but without the echo - say to email it to myself. Saves writing a new version of it.