[PHP-users 8681] Re: PHP の拡張性?

Yasuo Ohgaki php-users@php.gr.jp
Tue, 16 Jul 2002 18:35:11 +0900


大垣です。

私が質問を誤解しているのかも知れませんが
誤解されている部分が多いように思えます、、、

Yamaguchi Hiroshi wrote:
> PHPにおいて、静的、動的に関わらず拡張モジュールを
> 組み込んだ場合には、やはりサーバ上のメモリはそれだ
> け(恒常的に)消費されるものなのでしょうか。

このあたりはOS解説書のmemory管理の部分を参照する事を
お奨めします。PHPとはあまり関係ありません。

# 最近のOSでコードセグメントをプロセス間
# で共有できないOSを知りません。

> そうして考えたとき、動的にオブジェクトを生成することを
> 前提としたJavaなどに較べ、自ずとPHPの拡張性には限
> 界があるということなのでしょうか。

この仮定の前提が正しくないので、、、

> PHPの世界に入ってみて、オブジェクトの生成によってメモ
> リを確保する、開放するという世界がまったくなくなってしま
> ったので、拡張性、リソースという観点からどのように考えら
> れているのか、疑問に思いました。

全てのスクリプト系言語(Perl, Python, Ruby, bash,
etc)と最近の言語(Java, VB, C#)はガーベッジコレク
ション機能をもっています。Java、PHPはリファレンスカ
ウント機能もサポートしてます。

# VB、C#はリファレンスカウントをサポートしているの
# でしょうか? 少なくとも、C#はサポートいそうですが、、
# CLRのフレームワーク自体がサポートしているとか?

普通のWebアプリケーションではあまり考えられませんが、
要求事項としてメモリ管理をC/C++並にコントロールしな
ければならないアプリケーションではJavaもPHPも使えま
せん。

# この点、C言語で気軽にモジュールが作れるPHPの方が
# Javaより有利かも

ガーベッジコレクションとリファレンスカウンティングをキー
ワードにネットを検索するといろいろ出てくると思います。

ガーベッジコレクションは言うまでもありませんが、リファ
レンスカウントをサポートする言語とサポートしない言語
ではプログラミングスタイルが変わります。仕組みを知っ
ておいて損はありません。

--
Yasuo Ohgaki