* 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


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.047 sec.

OSDN