*html.phpのmake_line_rulesが遅い+改善案 [#v69ff436]

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

**メッセージ [#n3a82f88]
セレロン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)で投入されていますが… --  &new{2003-09-24 (水) 23:45:38};
-そうみたいですね。このバグ自身を却下してください。 -- [[h]] &new{2003-09-25 (木) 18:17:38};

#comment
//#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.093 sec.

OSDN