我正在使用“进程类”执行一些Excel文件,一些是getCell和setCell。还有一些写入output.xlsx。进程类还将回显峰值内存使用情况。在此过程中,所有输入文件都不会更改。现在,当我多次运行该进程时(例如,由于PHPUnit),峰值内存使用量将增加,我不明白为什么。
try{
$config = new ConfigDev();
if(file_exists($config->getOutputTmp())) {
unlink($config->getOutputTmp());
}
$process = new ProcessRunner($config);
$process->run();
unset($config);
unset($process);
$config = new ConfigDev();
if(file_exists($config->getOutputTmp())) {
unlink($config->getOutputTmp());
}
$process = new ProcessRunner($config);
$process->run();
unset($config);
unset($process);
$config = new ConfigDev();
if(file_exists($config->getOutputTmp())) {
unlink($config->getOutputTmp());
}
$process = new ProcessRunner($config);
$process->run();
unset($config);
unset($process);
exit;
CMD回声:
\pathtoreporting\bin>php "My first Test.php"
10:19:58 Peak memory usage: 214.25 MB
10:20:23 Peak memory usage: 389.5 MB
10:20:51 Peak memory usage: 530.75 MB
最后,这意味着我无法为我的run方法编写大量的单元测试,这会使我的代码不那么安全。
有谁知道为什么会发生这种情况,或者如何提取高内存增加的部分?
欢呼声, 彼得