c ++如何优化经常被调用的函数?

时间:2015-10-20 15:42:25

标签: c++ if-statement optimization inline

我有一个函数,让它命名为isLinked(),它检查我的对象是否链接到同一类型的其他对象。问题是,该函数经常在很短的时间内被调用。在处理信息的某个阶段,我谈了几百万次。您对我们如何优化这一点有什么想法吗?我们应该为每个对象使用专用的bool吗?或者这会产生可能的不一致吗?我对代码优化并不熟悉。请注意,我们有很多并行的对象,它们都做同样的事情。

所以基本上归结为:

class MyObject() {
  private:
     MyObject* myLinkedObject;

 public:
     Bool isLinked(){
                return (myLinkedObject != NULL); 
     }

};

然后在循环的其他函数中,我们经常会有这样的检查:

if(myFirstLinkedObject->isLinked){
   .....
}

1 个答案:

答案 0 :(得分:1)

瓶颈肯定是完全不同的代码。这个函数太简单了,无法显着优化(你可以提示编译器使其内联,但我不相信它会有任何显着的性能提升)。

据我所知,问题是你经常调用这个函数。有什么理由吗?你应该更好地研究优化调用这个函数的代码的方法,而不是isLinked()本身。