[PHP-users 1804] Re: FastTemplate その後

Yasuo Ohgaki php-users@php.gr.jp
Wed, 5 Sep 2001 10:02:11 +0900


大垣です。

> 重松です。こんにちは。
>
> FastTemplate ですが、その後、中をよく読んでいくと、「Fast」とは言っ
ているも
> のの、冗長な処理やなんかがかなり多くて、あんまり美しくないことがわか
りました。

ほとんどのTemplateは遅いはずです。(私は見ただけで使った事はありません
が)
なぜか多くのTemplateが実装されているので、こんな物をzend.comに入れてお
きました。

http://www.zend.com/codex.php?id=640&single=1

# FastTemplateはモジュール版(Cで書かれたPHPモジュール)が在ったと思い
ます。

> ループ処理自体のコストもありますので、"$foo" とするのは、とても遅
い、という
> ことがわかりました。
>
> それから、みなさん気にしていないようですが、
>
>     for($i = 0; $i < 100000; $i++)
>
> とかくと、0.59 秒ほどかかりますので、2% ほど速度が低下するようです。

PHPのループはどのループもかなりコストが高い(遅い)です。
Arrayを操作する場合、どうしてもループが必要になりがちですが、極力利用
できるArray用の関数、ハッシュを利用ことをお勧めします。

# Arrayをループで回さなくても、PHPの配列はハッシュなのでkey
# を上手く利用することで、ループを無くしかなり実行速度が改善
# できるケースが多く在ります。
# O(1)とO(n)での実行速度の違いは明らかですから。
# PHPLibのOOFormをカスタマイズした時は、ハッシュの適切な
# 利用により、PHP4でも20〜30%ほど速度が改善しました。それ
# でも十分遅いですが、、

--
Ohgaki, Yasuo (大垣 靖男) 
Mail: yohgaki@dd.iij4u.or.jp