衡量执行效率以比较两种解决方案?

Measure execution efficiency for compairing two solutions?

我想衡量同一问题的两种解决方案的效率。

我不需要在计算中包含任何环境“噪音”,只是我想知道以下哪些解决方案在完美世界中表现更好,即:哪个需要更多步骤来执行?

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));

我真的没有任何在这种小范围内测量执行时间的经验,所以我可能迷失在丛林中,如果是这种情况,我很抱歉。

一种方法是对两种解决方案进行基准测试,例如QuickBench。在图表中: 你可以看到第二个解决方案更快。但是,代码的执行时间也可能取决于您尝试连接的字符串的大小和数量,因此请将其考虑在内。我还建议对整个解决方案进行基准测试(无论您尝试实现什么),而不仅仅是一行代码(此处:append vs operator+)。

您也可以尝试使用不同的编译器和不同的优化级别。