Fai*_* Ng 4 java variables performance
我有一个变量,每秒读取和更新数千次.它需要定期重置.但"一半"的时间,该值已经是重置值.在重置(写入操作)之前首先检查值(看它是否需要重置)是一个好主意,或者我应该重置它而不管它?主要目标是优化代码以提高性能.
为了显示:
Random r = new Random();
int val = Integer.MAX_VALUE;
for (int i=0; i<100000000; i++) {
if (i % 2 == 0)
val = Integer.MAX_VALUE;
else
val = r.nextInt();
if (val != Integer.MAX_VALUE) //skip check?
val = Integer.MAX_VALUE;
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用上面的程序来测试2个场景(通过取消/评论第2个"if"行),但任何差异都会被运行持续时间的自然差异所掩盖.
谢谢.
不要检查它.
这是更多的执行步骤=更多周期=更多时间.
顺便说一句,你打破了一个基本的软件黄金规则:"不要尽早优化".除非你有确凿的证据证明代码是性能问题,否则你不应该看它.(注意,这并不意味着您在没有性能的情况下编写代码,您仍然遵循正常的最佳实践,但是您不添加任何特殊代码,其唯一目的是"与性能相关")