这类似于:
我很困惑,因为有两个相互矛盾的答案.我写了一个简单的java程序
for(int i=0; i<1000000; i++){
System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)
并运行它与/usr/bin/time -v java test测量时间输出到标准输出,然后,我尝试/usr/bin/time -v java test > file和/usr/bin/time -v java > /dev/null.写入控制台的速度最慢(10秒),然后是文件(6秒),/dev/null速度最快(2秒).为什么?
因为写入控制台需要在每次写入内容时刷新屏幕,这需要时间.
写入文件需要在磁盘上写入字节,这需要时间,但刷新屏幕的时间要少.
并且写入/dev/null不会在任何地方写任何内容,这会花费更少的时间.