Java性能VS可读性
【IT168 技术新闻】
在“在循环内或者循环外声明变量”这篇文章中,Dru Devore抨击了一些转自其他语言的文章,即:牺牲可读性来提高性能,Mr. Devore用了一个非常非常简单的性能测试来表明这样一个观点:Java通常不需要来牺牲可读性来提高自己的性能。他写了两个测试:一个是在一个简单的循环内部和外部分配一个简单变量,另外一个是在一个简单的循环内部和外部分配一个对象,他得出的结论是,对于简单变量来说没有什么影响,而对于对象来说,重新使用先前分配的实例可能会更好一些。
另一个观点认为,他说用的代码是pre-HotSpot,HotSpot将要转换代码并且当它正在运行的时候进行优化,代码将会在开始的最优化运行之前花很长的时间来执行,而且代码会多次运行,可能会随时间重新优化。像这样简单的代码可能在简单的编辑过后不是优化的,而是更加复杂的代码。
有一种方式测试HotSpot产生的代码来观察在长时间的运行处理过程中什么是更加有效的吗?你对这个问题怎么看?
文章连接:http://www.theserverside.com/news/thread.tss?thread_id=41857
在“在循环内或者循环外声明变量”这篇文章中,Dru Devore抨击了一些转自其他语言的文章,即:牺牲可读性来提高性能,Mr. Devore用了一个非常非常简单的性能测试来表明这样一个观点:Java通常不需要来牺牲可读性来提高自己的性能。他写了两个测试:一个是在一个简单的循环内部和外部分配一个简单变量,另外一个是在一个简单的循环内部和外部分配一个对象,他得出的结论是,对于简单变量来说没有什么影响,而对于对象来说,重新使用先前分配的实例可能会更好一些。
另一个观点认为,他说用的代码是pre-HotSpot,HotSpot将要转换代码并且当它正在运行的时候进行优化,代码将会在开始的最优化运行之前花很长的时间来执行,而且代码会多次运行,可能会随时间重新优化。像这样简单的代码可能在简单的编辑过后不是优化的,而是更加复杂的代码。
有一种方式测试HotSpot产生的代码来观察在长时间的运行处理过程中什么是更加有效的吗?你对这个问题怎么看?
文章连接:http://www.theserverside.com/news/thread.tss?thread_id=41857
0
相关文章