printf函数为什么耗时?

nj_wy 2014-03-19 04:18:44
有个疑惑不解:
printf函数非常耗时,用电脑连接大型通信设备时,打印速度远远跟不上设备内部处理信息的速度。不知道打印过程到底大部分时间耗在哪一方面?

是格式化要打印的内容耗时呢,还是把内容显示到屏幕上比较耗时?
...全文
5061 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
lm_whales 2014-03-20
  • 打赏
  • 举报
回复
另外: printf 跟puts 比较起来也是很慢的,不过printf 比puts灵活多了
lm_whales 2014-03-20
  • 打赏
  • 举报
回复
重定向到文件,就快多了 写文件,比打印屏幕,快了好多倍; 话说,写文件跟,直接内存读写比起来要慢很多的倍的,但是比写屏幕要快很多。。 DOS,Windows 控制台程序 xxx.exe >xx.txt 比 xxx.exe 要快很多
mujiok2003 2014-03-20
  • 打赏
  • 举报
回复
瓶颈一般都在设备IO那里。
lucky-lucky 2014-03-20
  • 打赏
  • 举报
回复
那是网络延迟问题吧,在服务器本地登录打印试试
  • 打赏
  • 举报
回复
引用 4 楼 nj_wy 的回复:
引用 1 楼 akirya 的回复:
显示到屏幕上
我要是把打印内容重定向到 /dev/null去,不知道能不能从质上改变这个状况?
反正重定向到文件的话,会快很多很多
angel_su 2014-03-19
  • 打赏
  • 举报
回复
感觉快没啥意思到底是给人看的,有影响的话考虑分派一个线程阻塞消磨去...
百曉生 2014-03-19
  • 打赏
  • 举报
回复
我也没想过这事儿,学习一下
vrace 2014-03-19
  • 打赏
  • 举报
回复
你是telnet到设备上的吧,那个输出文字确实很慢的
神-气 2014-03-19
  • 打赏
  • 举报
回复
printf涉及I/O
caiwei_cs 2014-03-19
  • 打赏
  • 举报
回复
楼主这么仔细,我从来没考虑这类问题。
碼上道 2014-03-19
  • 打赏
  • 举报
回复
好像原来做项目的时候,printf也是非常耗性能。printf 在linux下需要系统调用write,向标准设备打印输出,这个就要从用户态向内核态切换 ,然后再从内核态切换回来,这个非常影响性能。 对于实际项目,一般不会用printf,这个影响性能,一般都用自己的一套输出函数。正式产品中不允许使用printf。 重定向可能无法改善,
max_min_ 2014-03-19
  • 打赏
  • 举报
回复
涉及到I/O就是一个耗时的动作了!
赵4老师 2014-03-19
  • 打赏
  • 举报
回复
引用 4 楼 nj_wy 的回复:
引用 1 楼 akirya 的回复:
显示到屏幕上
我要是把打印内容重定向到 /dev/null去,不知道能不能从质上改变这个状况?
不要迷信书、考题、老师、回帖; 要迷信CPU、编译器、调试器、运行结果。 并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。 任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实! 有人说一套做一套,你相信他说的还是相信他做的? 其实严格来说这个世界上古往今来所有人都是说一套做一套,不是吗?
心是菩提树 2014-03-19
  • 打赏
  • 举报
回复
引用 4 楼 nj_wy 的回复:
引用 1 楼 akirya 的回复:
显示到屏幕上
我要是把打印内容重定向到 /dev/null去,不知道能不能从质上改变这个状况?
应该没多大改观吧,想要了解具体细节的话,看汇编
nj_wy 2014-03-19
  • 打赏
  • 举报
回复
引用 1 楼 akirya 的回复:
显示到屏幕上
我要是把打印内容重定向到 /dev/null去,不知道能不能从质上改变这个状况?
赵4老师 2014-03-19
  • 打赏
  • 举报
回复
引用 1 楼 akirya 的回复:
显示到屏幕上
尤其是在显示到屏幕上时需要将整个屏幕中以前显示的行上卷一行的时候! 试对比命令行最后加“>NUL”或“>文件名”让printf的输出重定向到空设备或文件中后速度快了多少倍。
nj_wy 2014-03-19
  • 打赏
  • 举报
回复
我要是把打印内容重定向到 /dev/null去,不知道能不能从质上改变这个状况?
  • 打赏
  • 举报
回复
显示到屏幕上

70,036

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧