printf()?? In C++??
printf() is part of the C library and is in C++ only to support relic C-code.
printf() can display only a very limited quantity of material. Like only the built-in types and pointers. Mostly useless in a program using objects.
Besides, it doesn't work for disc files, Unicode, network communciations, none of the user defined types (which is 99% of all code).
The << operator using an ostream can work in all of these evirinments with no code change. You just << to the correct type of ostream.
Otherwise, you printf(), sprint(), fpintf(), vsprintf() , etc..and you still don't have the versatility.
If you don't like the object-oriented << operator, then don't use it. You can still write your own stream class by deriving from basc_stringbuf.
Speed is almost never the issue. When it is, you insert assembly into your C++ program by using the inline assembler. Keep in mind a problem at 1GHz is half a problem at 2GHz and even less if there are multiple cores.