Mag*_*s W 3 java optimization android compiler-optimization java-8
假设我在Java 8中做了类似的事情(特别是Android)
String name = someObject.getName() != null ? someObject.getName() : "null";
Run Code Online (Sandbox Code Playgroud)
并且该方法getName()可能会有很多调用其他方法来解析名称.还假设我经常调用这段代码.
做这样的事情会更好,性能更好吗?
String name = someObject.getName();
name = name != null ? name : "null";
Run Code Online (Sandbox Code Playgroud)
这看起来像一个可能的优化,称为CSE ; 一个JVM据我所知这是否(但不知道关于Android).
但这很大程度上取决于它是什么getName,如果它在内部分配其他对象并做其他事情.不幸的是,我甚至无法告诉如何证明我错了或在这里(可能需要调查); 老实说,我有自己这样做的习惯.例如:
for(int i=0;i<list.size();++i){
}
Run Code Online (Sandbox Code Playgroud)
我试着总是int size = list.size()在循环之前提取; 即使这在我的理解中受到scalar replacement优化.
| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |