我想测量同一问题的两种解决方案的效率。
我不需要在计算中包含任何环境“噪声”,我只想知道以下哪种解决方案在完美世界中表现更好,即:哪种解决方案需要执行更多的步骤?
string a;
int b;
string c;
//SOLUTION A
c = a;
c = std::move(c) + ',' + std:to_string(b);
//SOLUTION B
c = a;
c.append(",").append(std::to_string(b));我真的没有在这个小范围内测量执行时间的经验,所以我可能在丛林中迷路了,如果这里是这样的话,很抱歉。
发布于 2021-06-04 23:03:12
一种方法是对这两种解决方案进行基准测试,例如使用QuickBench。在图表中:

您可以看到第二种解决方案更快。但是,代码的执行时间可能还取决于您尝试连接的字符串的大小和数量,因此要考虑到这一点。我还建议对整个解决方案(无论您尝试实现什么)进行基准测试,而不仅仅是一行代码(此处: append vs operator+)。
您还可以尝试使用不同的编译器和不同的优化级别。
https://stackoverflow.com/questions/67839322
复制相似问题