在重构一些代码的过程中,想改变这样的功能
bool A::function() {
return this->a == this->b || this->c == this->d || this->e == this->f || this->g == this->h ;
}
像这样
bool A::function(int a, int b, int c, int d, int e, int g) {
return a == b || c == d || e == this->f || g == this->h ;
}
这个函数应该每次在一个最多有 10M 个元素的主循环中调用
由于传递 6 个整数的性能成本,与我一起工作的人不愿意使用第二个版本。我很确定这是可以忽略不计的,考虑到循环的每次迭代都会经过大量代码,并且处理 10M 元素大约需要 1 分钟。
按值传递 6 int 的成本一直这么高吗?如果没有,我怎样才能让他们改变主意?
编辑:关于内联,我告诉他们如果函数被内联,惩罚将为 0,但他们的回答基本上是“我们不能确定它是否会被内联”,我似乎记得这是真的(直到编译器)