我已经用 C++ 编写代码很长时间了。我一直想知道哪个执行速度更快printf
or cout
?
情况:我正在用 C++ 设计一个应用程序,并且有一定的限制,例如执行时间限制。我的应用程序已在控制台上加载打印命令。那么哪一个更可取printf
or cout
?
每个都有自己的管理费用。根据您打印的内容,两者都可能更快。
这里想到了两点——
printf() 必须解析“格式”字符串并对其进行操作,这会增加成本。
cout 具有更复杂的继承层次结构并传递对象。
实际上,除了最奇怪的情况外,这种差异对所有情况都不重要。如果您认为这真的很重要 - 衡量!
EDIT -
哦,哎呀,我不相信我正在这样做,但为了记录,在我非常具体的测试用例上,使用我非常具体的机器及其非常具体的负载,使用 MSVC 在发行版中进行编译 -
打印 150,000 个“Hello, World!”(不使用 endl)大约需要 -
printf() 需要 90 毫秒,cout 需要 79 毫秒。
打印 150,000 个随机双精度数大约需要 -
printf() 为 3450 毫秒,cout 为 3420 毫秒。
(平均超过 10 次运行)。
差异如此之小,可能没有任何意义......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)