在做项目的时候,为了调试方便,把很多日志信息通过console打印出来。每次进行一个操作,输出的日志非常多,导致程序看起来非常慢。难道向控制台打印信息就这么慢吗?我突然想到以前用Linux时好像没有这么慢,于是就做了一个简单的测试。测试程序非常简单,就是用System.out.println()向控制台写一个字符串,写十万次。在我的windows xp和Ubuntu 8.04下分别测试了10次,结果发现,在Linux下平均用时9.8秒,而windows下要用18.6秒,差不多是Linux的两倍。两边用的都是sun的1.6版的虚拟机,没想到会有这么大的差异。
是不是Java在Linux上就比在windows上要快呢?我想找一些更全面,更权威的测试,但是没有找到。sun的官方论坛上,有人说在两个系统上的表现是差不多的,不知道他是从哪里得到的结论。通过这个简单的测试,至少可以看出,在x86平台上,同是sun 1.6的虚拟机,写控制台的时候,在windows xp上,比在Ubuntu 8.04上要慢一倍。