html.phpのmake_line_rulesが遅い+改善案

  • ページ: BugTrack
  • 投稿者: h?
  • 優先順位: 低
  • 状態: 却下
  • カテゴリー: 本体バグ
  • 投稿日: 2003-09-24 (水) 13:14:28
  • バージョン: 1.4rc4

メッセージ

セレロン466のサーバにインストールしたところ、 「整形ルール」ページの処理に2秒かかっていたので、 少しソースを見てみました。 あれこれいじったのですが、 中でも以下の変更は大きく、2割程度速くなりました。 よく呼ばれる関数でコピーが頻繁に起こっていたのでしょう。 検討の上、問題がなければ使ってください。 よろしくお願いします。

diff -c pukiwiki/html.php /var/www/virtual_host/pukiwiki/html.php
*** pukiwiki/html.php   Fri Aug  8 16:27:33 2003
--- /var/www/virtual_host/pukiwiki/html.php     Wed Sep 24 04:59:26 2003
***************
*** 265,278 ****
  // ユーザ定義ルール(ソースは置換せずコンバート)
  function make_line_rules($str)
  {
!       global $line_rules;
!       
!       foreach($line_rules as $rule => $replace)
!       {
!               $str = preg_replace("/$rule/",$replace,$str);
        }
!       
!       return $str;
  }
  
  // HTMLタグを取り除く
--- 265,280 ----
  // ユーザ定義ルール(ソースは置換せずコンバート)
  function make_line_rules($str)
  {
!       static $line_pattern="", $line_replacement;
! 
!       if ($line_pattern == "") {
!               global $line_rules;
!               foreach($line_rules as $rule => $replace) {
!                       $line_pattern[]="/$rule/";
!                       $line_replacement[]=$replace;
!               }
        }
!       return preg_replace($line_pattern,$line_replacement,$str);
  }
  
  // HTMLタグを取り除く

  • 同等のコードがcvs:html.php(v1.4:r1.94)で投入されていますが… -- 2003-09-24 (水) 23:45:38
  • そうみたいですね。このバグ自身を却下してください。 -- h? 2003-09-25 (木) 18:17:38

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2003-09-25 (木) 18:17:38
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.173 sec.

OSDN