fileでテンプレートのhtmlを取得し、埋め込まれた変数を置換する場合、array_searchでとか書かれた部分の位置を取得し、forでfileで取得したテンプレートの該当部分だけを置換するのは良いとして、array_walkで、arrayに対して$_SERVER["arg"]とかで総当り置換をかける場合と、fileで取得したarrayを通常の変数に.=してしまってから、str_replaceやpreg_replaceした方が早いか気になっていたので検証してみた。
やることはそのまんまで、置換要素をfor1~1000で用意して、array_walkする場合と、fileを通常変数化してからforの中でstr_replaceしてみると、
array_walkのが早かった。
step数はかなり多いのになぁ。
厳密にはfileじゃなくてfopenとかfile_get_contentsでやってみたが、array_walkに負けた。
テンプレート配列への1000個の要素置換で0.18秒 と0.14秒ぐらいの差。
よほど他の処理が重くなければ、テンプレート置換処理自体はさほどの処理影響を与えないともいえる。
というか1000個も要素あっても画面的にみにくくてしょうがないので、現実的にはもっと置換要素は少ないはずでしょぅ。
うまー。
やることはそのまんまで、置換要素をfor1~1000で用意して、array_walkする場合と、fileを通常変数化してからforの中でstr_replaceしてみると、
array_walkのが早かった。
step数はかなり多いのになぁ。
厳密にはfileじゃなくてfopenとかfile_get_contentsでやってみたが、array_walkに負けた。
テンプレート配列への1000個の要素置換で0.18秒 と0.14秒ぐらいの差。
よほど他の処理が重くなければ、テンプレート置換処理自体はさほどの処理影響を与えないともいえる。
というか1000個も要素あっても画面的にみにくくてしょうがないので、現実的にはもっと置換要素は少ないはずでしょぅ。
うまー。
0 件のコメント:
コメントを投稿