在Java中,null检查需要多长时间?
if(someBigObject == null) //How long does this take?
throw new RuntimeException("Can't be null!");
和说i = 1
差不多吗?它是取决于对象的大小,还是因为它检查的是指针而不是实际值而无关紧要?
基本上,我问这个问题的原因是,我有一个处理大型对象的循环,需要尽可能快地运行,我想知道在每次迭代中进行空检查是否会有任何显著的效果。
如果为从未执行过的分支检查一个简单值,CPU可以使用分支预测来几乎消除成本。即成本可能是亚纳秒。
在进行微观优化之前,我会用现实的输入来描述成本。