假设调用静态方法比分配和垃圾回收整数要快是正确的吗?
或者换句话说,fh1或fh2是更好的选择吗?在fh1中避免分配,但fh2似乎更简单。在这种情况下,G.f()是一个相对简单的方法,将经常被调用。 fh2和fh1也将经常被调用(每秒可能被调用30次)。
伪代码:
class G {
static method int f() {.......}
}
class H {
method fh1(){
somemethod1(G.f());
somemethod2(G.f());
somemethod3(G.f());
}
method fh2(){
int a = G.f();
somemethod1(a);
somemethod2(b);
.....
}
}
最佳答案
每秒30次的频率不高(通常每秒100万次)。因此,这里没有问题,因此请不要对其进行优化。
话虽如此,fh2会更高效,分配比函数调用便宜。