ACE/TAO 性能问题
ACE/TAO Performance Issue
ACE/TAO length() 函数花费太多时间。因为它在设置长度时使用 new 运算符创建那么多内存。任何人都知道替代长度功能,只需在 TAO 中设置长度。
谢谢
来自 ATCD 邮件列表的 Will Otte:我猜你有一些这样的代码:
while (something) {
CORBA::ULong pos = seq.length ();
seq.length (pos+1);
seq[pos] = some_value;
}
并且观察到性能与
std::vector<foo> vec;
while (something) {
size_t pos = vec.size ();
vec.resize (pos + 1);
vec[pos] = foo (bar); // or the much more succinct vec.push_back (foo (bar));
}
右?
答案可能是因为您的 STL 实现正在帮助您,并在您使用调整大小时提供几何增长。 C++标准没有任何这样的要求(调整大小;push_back保证几何增长),所以你可能很幸运,不应该依赖这种行为。
TAO 序列不会为您提供此功能,因此,如果您反复调整大小,您将看到性能不佳,因为每次调整大小时,您都必须支付新缓冲区的分配费用,以及将所有现有元素复制到新基础缓冲区的时间。
相关文章:
- 在类中使用随机生成器时出现性能问题
- Qt OpenGL 渲染到纹理性能问题
- 剪辑性能问题
- 使用双包装器类进行位操作(C++、clang)修复性能下降问题
- OpenCV - 基本操作 - 性能问题 [模式:发布]
- 使用 #define 进行跟踪日志记录以避免性能问题
- 在 Qt C++ 中在自定义项委托上绘制文本时的性能问题
- std::函数有性能问题,如何避免?
- 使用 const double* const 作为模板参数 - 代码性能问题
- 在C 中读取大型CSV文件性能问题
- MPI 二进制文件 I/O 基本功能和性能问题
- 如何修复macOS线程互斥锁性能缓慢的问题?
- 使用STD :: MAP在数据及其性能问题中查找重复项.我可以预先分配吗?
- C 功能性能问题
- 一维数组映射方式的性能差异问题
- 在C 性能问题中使用Getter返回地图
- 初始化每个班级成员时的性能问题
- 事件(开始,结束),1天的最大事件.C++ 中的性能问题
- 在X64模式下从C /CLI调用MASM PROC会产生意外的性能问题
- OpenGL:MESA3D屏幕上的软件渲染性能问题