* data(wiki text) を書き込む時のメモリ消費を抑える [#r1103848] - ページ: [[BugTrack2]] - 投稿者: 名無しさん - 優先順位: 低 - 状態: 提案 - カテゴリー: 本体バグ - 投稿日: 2007-10-14 (日) 17:00:09 - バージョン: ** メッセージ [#wcdb4b83] ページを保存する時に、不要なデータを抱え込んだままになっていると思うので提案します。&br;[[cvs:lib/lib/file.php]] (1.88) function page_write($page, $postdata, $notimestamp = FALSE) { global $autoalias, $aliaspage; if (PKWK_READONLY) return; // Do nothing $postdata = make_str_rules($postdata); // Create and write diff $oldpostdata = is_page($page) ? get_source($page, TRUE, TRUE) : ''; $diffdata = do_diff($oldpostdata, $postdata); file_write(DIFF_DIR, $page, $diffdata); + unset($oldpostdata, $diffdata); [[雑談]]のようにサイズの大きなページだと、変更前のデータ($oldpostdata) と差分データ($diffdata) を、&br;差分を書き込んだ後にも保持し続けるのは負担になる(特にAutoLink を使っている時)と思うので、unset() を追加しただけです。 サイズが10k のページにコメントを追加する場合を例にしても、&br;変更前(10k) + 差分データ(10k + コメント) + 変更後のデータ(10k + コメント) の合計約30k が、&br;変更後のデータ約10k ですむようになるだけなので、&br;[[BugTrack2/159]] ほどは大きな効果が無いかもしれません。 -------- #comment