2

それで、34MB の XML ファイルを作成しました。

から出力を取得しようとすると、DOMDocument->saveXML()返されるまでに 94 秒かかります。

問題はsaveXML() 行にあるため、この XML を生成するコードはここでは関係ないと思います。

$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

完璧な解決策ではありませんが、助かったことの 1 つは、設定$this->exportDOM->formatOutput = FALSE;です。

パフォーマンスが最大 33% 向上しました。

于 2013-02-27T14:26:53.633 に答える