[PHP-users 18468]Re: はじめまして。

Kenji Ono ono @ fjct.fujitsu.com
2003年 10月 16日 (木) 14:29:03 JST


小野です。

大垣さん、貴重な意見を有難うございました。
OOPは使い方をよく吟味して利用することにします。

> Subject : [PHP-users 18465] Re: はじめまして。
> From : Yasuo Ohgaki <yohgaki @ ohgaki.net>
> Date : Thu, 16 Oct 2003 02:20:23 +0900
> 
> 大垣です。
> 
> Osamu Shigematsu wrote:
> > 重松です。こんにちは。
> > 
> > 
> >>また、クラスでPHPソースを記述するとべたよりも高速に動作するらしい
> >>との噂もたってます。
> >>100行くらいのクラスで作成したソースを試しに動作させましたが
> >>ほとんど変わりませんでした。
> >>環境は、Redhat7.3+APACHE2.0.43+PHP4.3.3+PostgreSQL7.3.2です。
> > 
> > 
> > 普通に考えると速くなる理由がありませんが。
> > 
> > 特に PHP は実行時にいちいちパースするわけで、クラスにすると、
> > 親クラスなんかもパースして回らないといけません。
> > 
> > やることが上から下にだらだら書いてあるのと比べて、
> > 仕事が増えているのに、なぜ速くなるのか、不思議でならないんですが、
> > うわさの根拠(?) というかは、何なんでしょうね。
> > # インチキくさいからうわさなんでしょうが。
> > 
> > 確かふじもとさんも、遅くなるといってました。
> > 
> 
> 遅くなります。PHPのオブジェクトのメソッド呼出しは関数を
> 二回呼ぶのと同じような仕組みなっています。そして関数呼び
> 出しはオーバーヘッドが比較的大きいです。普通にOOPすると
> 小さい関数(get/set系)の呼出しが多くなるため遅くなります。
> 更に重松さんの至適通りスーパークラスのロード/パースのオー
> バーヘッドが追加されるので早くなる事はありません。
> # Zendのサイトにも書いてあるアーティクルがあったはずです。
> # 「OOPは使うな」「関数の再定義はするな」と :)
> 
> 私もクラスは使っていますが過度なOOPはしていません。ネーム
> スペース代りに使うような使い方をよくしています。
> パフォーマンスがどうしても必要なサイトではOOPは使用しない
> よう、いつも提案しています。
> 
> OOPをするならスクリプトキャッシュは必須です。
> Requests/secで2倍、処理遅延で数倍の性能向上も簡単に達成で
> きる場合が多いです。
> # この前、smartyで試した時もこのくらいの結果でした。
> # smarty結構重いですね...
> 
> 元々OOPは性能面のみを重視したプログラミング技法では無いの
> で、バランスが重要かと思います。パフォーマンスだけならCで
> CGI、と言うことになりますから。
> # PHPにもinline optimizationが必要かな...
> 
> --
> Yasuo Ohgaki
> 
> 
> _______________________________________________
> PHP-users mailing list
> PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> 







---
富士通キャドテック(株)
 コーポレートシス事)ソリューションビジネスシステム部
小野 健二(Kenji ono)
電話:内7195-3824 / 外045-470-1085
メール:ono @ fjct.fujitsu.com


PHP-users メーリングリストの案内