结果输出控制台或重定向【转载】
转自:https://www.cnblogs.com/lhfcws/p/3197735.html
https://blog.csdn.net/maqingli20/article/details/7063672
1.第二个链接中博文显示:
从结果可以看出,在大量连续输出信息到控制台的时候,程序效率受到了明显的影响。
上面例子中,两函数运行之间之比达到了100:2. 因此,为了效率考虑,以后编程的时候应该杜绝这样的输出方式。不要让不必要的输出降低系统的运行速度。
2.第一个链接中的博文:
昨天做一个程序的性能测试的时候,由于用了自动化脚本,测试的时候直接把结果(包括执行时间等信息)输出到文件。后来我在调整源代码的时候单独跑了可执行文件,此时结果是输出到控制台(printf)。大约100k数据平均竟相差了54%,显然是控制台输出的时间消耗会较大。
主要原因: Console 会给多个进程共享,因此对console操作时会存在进程同步和缓存问题。
评论里:
ls -R /proc 慢的机器要等几秒, ls -R /proc >a 瞬间完成 , 和你的应该是一个问题
我认为显示器的速度也有关系, 显示器有一个刷新频率的参数, 如果我没说错,应该就是这个, 比如,你看的视频如果超级超级高清, 如果每秒显示1000张图片,你的cpu, 显卡等都足够快, 但是显示器做不到, 如果不采取丢弃手段, 就会很慢的播放了。
磁盘就不同了, 每秒几十兆不成问题, 因为一般都是有缓存的(缓存很快), 和磁盘同步都是同步足够的数据而不是很少的数据, 所以不会很慢。
ls -R / >a 等了好几秒,打断, 才几M大小。 对磁盘存储来讲,不需要多少时间。
但是几M, 多少页文字呀!显示器好像大多数都是几十hz, 不到一百。显示这么多,还不得累死.
没有对显示器深研究过,只是听过, 不知道我说的对不对。