【发布时间】:2014-07-07 07:25:56
【问题描述】:
目前我正在尝试优化我的 c++ 代码以获得更好的性能,因为我有很强的 java/c# 背景。 我已经测试了类之间的 getter/setter 等简单示例,并通过如下引用实现了使用它们:
vector<string>& MyClass::getNum()
{
return num;
}
void MyClass::setNum(vector<string> &num)
{
this->num = num;
}
(假设向量中有 15 个以上的字符串)
比没有时快 2 倍。 (使用简单/小参数时没有区别,但使用向量等时差异很大)
我也在 Java 中尝试了相同的示例,但不知何故,我的 Java 代码仍然比 C++ 中的要快。 有人可以帮助我吗?
【问题讨论】:
-
很想看看你的基准测试。
-
你一直在使用什么优化级别?
-
这个问题目前缺乏很多可以回答的信息。答案目前唯一能做的就是推测。
-
除非您的优化级别太低,否则
int&和int在性能方面应该没有区别 -
我们无法审查我们看不到的代码。
标签: c++ performance