作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个函数,我们将其命名为 isLinked(),它检查我的对象是否链接到同一类型的其他对象。问题是,该函数在短时间内经常被调用。我说的是在处理信息的某个阶段有几百万次。您对我们如何优化它有什么想法吗?我们应该为每个对象使用一个专用的 bool 吗?或者这只会造成可能的不一致吗?我对代码优化不太熟悉。请注意,我们有很多并行的对象,它们都做同样的事情。
所以基本上可以归结为:
class MyObject() {
private:
MyObject* myLinkedObject;
public:
Bool isLinked(){
return (myLinkedObject != NULL);
}
};
然后在其他循环的函数中,我们经常有这样的检查:
if(myFirstLinkedObject->isLinked){
.....
}
最佳答案
瓶颈肯定在完全不同的代码地方。这个函数太简单了,无法进行显着优化(您可以提示编译器使其内联,但我认为它不会有任何显着的性能提升)。
据我所知,问题在于您过于频繁地调用此函数。有什么理由吗?您最好查看优化调用此函数的代码的方法,而不是 isLinked() 本身。
关于c++如何优化经常调用的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33241017/
当运行 scala.util.Random().nextInt(3) 81 次时,我看到如下结果(Java 开发人员,请参阅 edit 了解这之间的关系): 200010202002112102222
在使用 native 应用程序在混合模式 C++/CLI 中调试时,我遇到了进程挂起问题。这是无法忍受的,我的调试几乎 70% 都会发生这种情况,我需要一次又一次地重新启动该过程。 是否有任何修补程序
我不知道这是一个错误还是某种误用/错误配置。希望有人能帮忙。谢谢! 如果我更改模块或 list 目录中的文件,通常会导致错误,大部分是以下类型 无法找到节点上的类 在节点上找不到定义类 当 Puppe
我是一名优秀的程序员,十分优秀!