2

所以,我创建了一个 34MB 的 XML 文件。

当我尝试从中获取输出时DOMDocument->saveXML(),需要 94 秒才能返回。

我假设生成此 XML 的代码在这里无关紧要,因为问题出saveXML() 行上:

$this->exportDOM = new DOMDocument('1.0');
$this->exportDOM->formatOutput = TRUE;
$this->exportDOM->preserveWhiteSpace = FALSE;
$this->exportDOM->loadXML('<export><produtos></produtos><fornecedores></fornecedores><transportadoras></transportadoras><clientes></clientes></export>');

[...]

$this->benchmark->mark('a');
$this->exportDOM->saveXML();
$this->benchmark->mark('b');
echo $this->benchmark->elapsed_time('a','b');
die;

这给了我94.4581.

我究竟做错了什么?生成文件时,你们知道 DOMDocument 的任何与性能相关的问题吗?

如果您需要更多信息,请告诉我。谢谢。


我尝试删除formatOutput. 它将性能提高了 33%。

还是用的太久。还有其他提示吗?

4

1 回答 1

2

有帮助的一件事——尽管它不是完美的解决方案——是设置$this->exportDOM->formatOutput = FALSE;.

它将性能提高了约 33%。

于 2013-02-27T14:26:53.633 回答