- 追加された行はこの色です。
- 削除された行はこの色です。
* 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 が、変更後のデータ約10k ですむようになるだけなので、&br;[[BugTrack2/159]] ほどは大きな効果が無いかもしれません。
--------
#comment