我有一个在启动时加载大量数据的程序。这会占用相当长的时间,因此在运行Valgrind( memcheck
) / DrMemory时会产生开销。所以当用不同的参数多次调用程序时,会占用相当多的时间
我的想法是fork()
在数据加载阶段之后立即使用,然后将孩子交给 Valgrind/DrMemory。即使加载阶段在 Valgrind/DrMemory 下运行,开销也只会发生一次,并且所有fork
ed 子进程应该能够从那里使用预加载的数据。
记录程序状态并将其声明为未污染,然后在 Valgrind ( memcheck
) 或 DrMemory 中恢复该状态是否可行?
注意:我只对 unixoid 平台感兴趣,将其限制在 Linux 上也可以。