【发布时间】:2014-08-21 12:41:03
【问题描述】:
在代码开头声明变量和在我需要它们时声明它们(在可读性参数之外)之间是否存在性能差异?
假设我有以下两种选择:
选项1:
public void methodA ()
{
int amount;
long id;
String name;
//do something
}
选项2:
public void methodB ()
{
int amount;
//do something
long id;
//do something
String name;
//do something
}
在我看来,选项 2 更美观、更易读,因此是我的偏好。
问:但我只是想知道这些声明的位置是否存在性能差异。
编辑:感谢 maaartinus 的输入,我发现我的基准示例是错误的(现已删除),我正在进一步研究如何编写/使用基准代码。
【问题讨论】:
-
您的问题是关于 Java 还是 C++?具体以使其成为可回答的问题
-
解释是java中的benchmark是harder than expected。您正在测量一些测量误差。
-
@maaartinus 感谢您的链接。我正在学习。
-
@maaartinus 你的意思是 System.nanoTime() 还是规则 4 的不准确(但我无法避免影响)
-
不,当基准运行时间足够长时,这种不准确性是最小的问题。按照我提供的链接或谷歌出 caliper 或 jmh。
标签: java performance