我有一个函数,让它命名为isLinked(),它检查我的对象是否链接到同一类型的其他对象。问题是,该函数经常在很短的时间内被调用。在处理信息的某个阶段,我谈了几百万次。您对我们如何优化这一点有什么想法吗?我们应该为每个对象使用专用的bool吗?或者这会产生可能的不一致吗?我对代码优化并不熟悉。请注意,我们有很多并行的对象,它们都做同样的事情。
所以基本上归结为:
class MyObject() {
private:
MyObject* myLinkedObject;
public:
Bool isLinked(){
return (myLinkedObject != NULL);
}
};
然后在循环的其他函数中,我们经常会有这样的检查:
if(myFirstLinkedObject->isLinked){
.....
}
答案 0 :(得分:1)
瓶颈肯定是完全不同的代码。这个函数太简单了,无法显着优化(你可以提示编译器使其内联,但我不相信它会有任何显着的性能提升)。
据我所知,问题是你经常调用这个函数。有什么理由吗?你应该更好地研究优化调用这个函数的代码的方法,而不是isLinked()本身。