我有一个创建和销毁数千个对象的应用程序.值得缓存和重用对象,还是Delphi的内存管理器足够快,多次创建和销毁对象并不是一个很大的开销(而不是跟踪缓存)当我说值得,当然我在寻找为了提高性能.
从最近的测试 - 如果对象创建不昂贵(即不依赖于外部资源 - 访问文件,注册表,数据库......)那么你将很难击败Delphi的内存管理器.就是这么快.
当然,如果您使用的是最近的Delphi,那当然也适用 - 如果没有,请从SourceForge获取FastMM4 并使用它而不是Delphi的内部MM.
内存分配只是您想要缓存的一小部分.您需要知道构造语义上有效的对象的全部成本,并将其与从缓存中检索项目的成本进行比较,而不仅仅是微基准测试:缓存效果(CPU缓存,即)可能会改变运行时动态在一个真实的运行应用程序中.
或者用另一种方式,测量它并找出答案.如果你没有测量,你就不是工程师,只是猜测.
只有剖析器会告诉你.在紧密循环中尝试这两种方法,看看最重要的是:-)