哪段代码具有更好的性能?'Substring'或'if with length&min' - 显着更好的性能
Pseudocode:
1)
prvate String doSth(String s) {
...
return s.substring(0, Math.min(s.length(), constparam));
}
2)
prvate String doSth(String s) {
if (s.length() > constparam) {
return s.substring(0, constparam);
}
return s;
}
在大多数情况下(99%) - s.length < constparam。 该方法每秒调用20-200次。 哪个解决方案(以及为什么)会有更好的性能? 它会造成重大影响吗?
为什么不运行一些性能测试并找出自己的?这个(和重复的)可能有所帮助:https://stackoverflow.com/questions/447739/java-performance-testing – lucasvw
一旦JIT分析了代码,可能几乎没有区别,如果你只做了200次每秒钟,如果有的话,你可能不会注意到任何区别。 **当心过早优化**,即只在测量问题时才“优化”代码,否则使用看起来更符合逻辑的代码版本。 – Andreas
你会需要这个肯定https://stackoverflow.com/questions/504103/how-do-i-write-a-correct-micro-benchmark-in-java –