我正在构建一个大型的RTree(空间索引),它需要能够处理许多查询和更新。对象不断地被创建和销毁。我运行的基本测试是查看树的性能随着树中对象数量的增加而变化。我以100-20000个均匀大小、随机位置的对象为增量插入。搜索和更新与我目前面临的问题无关。
现在,当没有内存泄漏时,“插入到树”性能表现得很随意。它从大约15000个对象的10.5秒到18000个对象的1.5秒不等。没有任何模式。
当我故意添加一个泄漏,简单地放入“new int;”并不将其分配给任何东西,这就是一行代码,性能立即下降到一个漂亮的平滑曲线,从100个对象的0秒斜坡到完整的20k的1.5秒。
此时非常迷茫。如果您想要源代码,我可以包含它,但它非常庞大,唯一有影响的是“new int;”。
提前感谢! -nick
现在,当没有内存泄漏时,“插入到树”性能表现得很随意。它从大约15000个对象的10.5秒到18000个对象的1.5秒不等。没有任何模式。
当我故意添加一个泄漏,简单地放入“new int;”并不将其分配给任何东西,这就是一行代码,性能立即下降到一个漂亮的平滑曲线,从100个对象的0秒斜坡到完整的20k的1.5秒。
此时非常迷茫。如果您想要源代码,我可以包含它,但它非常庞大,唯一有影响的是“new int;”。
提前感谢! -nick
new int;
之间的关系大多是偶然的。 - Jerry Coffinnew int;
经过了优化而幸存下来了吗? - pmr