![]() |
1
0
自我分配并不是一个常见的情况,因此每次测试都要花费更多的时间来交换它。复制指针基本上是最快的复制。 复制共享的ptr的实际成本是原子引用增量(这可能涉及在下面使用互斥)。 如果您真的想测试这两种方法的性能,我建议您 google benchmark 库并编写一组测试用例(用于自分配和所有其他用例)并对其进行度量。请记住,现在的优化器可以用您的代码来优化它。如果不测量它,很难判断它是否更快,但我想如果没有它的版本是相当昂贵的更好:) 编辑: 如果不想增加引用计数(复制共享的ptr时这是很昂贵的部分),可以始终使用move构造函数:
|