Delta_G: Asking for proof and claiming he's wrong... with no proof. -dev showed the code and results. What more proof do you want? What proof have you other than your general distaste for the Arduino community? Does your version with printf produce smaller or faster code? Prove it.
I have no "distaste" for the Arduino community. Why on earth would I get on this forum and spend 95% of my time here answering questions or explaining how something works?
As far as my "assertions", let me explain each one:
(from -dev): There is no reason to build one giant string and then print it all out at once.  There is no overhead associated with Serial.print that you can avoid by building one giant string.  Printing each piece by itself is actually much more efficient:
-  The Arduino can be printing the first part of the message while it formats the next parts.
1: There is overhead associated with every and any call of a C function. Parameters have to be placed on the stack, as well as return address and other info. Calling a function 10 times with a small chunk of data is most certainly slower than calling the function with all the data at once (because you avoid the overhead of calling the function 9 times more than necessary).
2: Wrong - same reason as #1.
3: This statement is misleading. Although the Arduino hardware serial code does use a ring buffer and interrupts, the statement made by -dev makes it sound as though serial data will be output from the ring buffer even if the CPU is busy elsewhere (for example stuck in a blocking delay(nnn) call or in the middle of parsing the format specifiers of another string).
Now, I suppose I could write a simple sketch and show actual numbers, but I felt that there was no need since everyone knows (I assume) that calling a C function involves "behind the scenes" activity which obviously consumes more time if the function is called repeatedly.
I can do this if you wish.......