是否值得缓存Delphi内存管理器创建的对象?

Ste*_*eve 9 delphi memory-management

我有一个创建和销毁数千个对象的应用程序.值得缓存和重用对象,还是Delphi的内存管理器足够快,多次创建和销毁对象并不是一个很大的开销(而不是跟踪缓存)当我说值得,当然我在寻找为了提高性能.

gab*_*abr 17

从最近的测试 - 如果对象创建不昂贵(即不依赖于外部资源 - 访问文件,注册表,数据库......)那么你将很难击败Delphi的内存管理器.就是这么快.

当然,如果您使用的是最近的Delphi,那当然也适用 - 如果没有,请从SourceForge获取FastMM4 并使用它而不是Delphi的内部MM.


Bar*_*lly 15

内存分配只是您想要缓存的一小部分.您需要知道构造语义上有效的对象的全部成本,并将其与从缓存中检索项目的成本进行比较,而不仅仅是微基准测试:缓存效果(CPU缓存,即)可能会改变运行时动态在一个真实的运行应用程序中.

或者用另一种方式,测量它并找出答案.如果你没有测量,你就不是工程师,只是猜测.


Ori*_*rds 6

只有剖析器会告诉你.在紧密循环中尝试这两种方法,看看最重要的是:-)