I often hear the saying that iostream is inefficient in terms of performance, and it is better to use printf family if type-safe is not concern. But as far as I know, the static type checking (is this thing people call the 'type-safe' do?) is done in the compilation, and even the class mechanism (except virtual function) will not create a burden on run-time. Am I right? Or what exactly makes iostream inefficient?