Home > Development

Development Archive

PHP のメモリ使用量について

  • 2009-01-02 (Fri)
  • PHP

新年早々、マニアックなネタです。実家にいるので食べて、プログラムのデバッグ、ゲームみたいな 2009 年の始まりです。。。

今、開発してる PHP 向けの AOP 環境の実装 (AOWP)で、織り込み処理の時のメモリ使用量が問題になってます。。。WordPressを対象に処理を行うとすぐにメモリが 512MB 以上に。。。ここ 3週間程、メモリ使用量のチューニングをずっと頑張ってます。。。

で、ようやく解決の糸口が。。。:)

ポイントは、

  • リファレンス渡しとリファレンス返しのところ (PHPのマニュアル)
  • 循環参照を含むインスタンスの変数の解放

の 2つでした。

循環参照のメモリ解放は、早い段階で気づいて、明示的にインスタンスが含むクラス変数のインスタンスを解放するようにして解決。結構、メモリ使用量が減ったんで、楽観視してましたが、、、

オブジェクトを引数として渡す場合と、オブジェクトをメソッドの返り値として返すときに、リファレンス渡し及びリファレンス返しにしてなかった為に、解放されない変数がたくさんありました。。。織り込みに使用する循環参照を含むインスタンスを、複数のメソッドを通して操作する際に変数のコピーが作成されて、変数の解放がうまくいってなかったみたい。。。

大方、メモリ使用量のチューニングのめどが立って良かったです。。。

PDTのインストール

eclipseを3.4にしたら、PDTのインストール法がわからない。

で、調べたら、ここに書いてました。
http://wiki.eclipse.org/PDT/Installation

なぞのSVNエラー

おとといくらいから、謎のSVNエラーが。。。
Can’t moveみたいな、、、

ぼくのMacだとオッケーで、一緒にプログラミングしてるメンバのWindowsマシンではエラーが。。。

で、調べてたら、、、
ぼくが: (コロン)をファイル名に使ってたからでした。。
ぼく、PATH_SEPARATORかな??その辺の定数を使ってファイル名を作って保存してたら、
この定数が:に成ってました。。。

Macだとオッケーだけど、Windowsではドライブ名の指定に成ってエラー。。。

はぁ。。。

phpDocumentorではまりました。。。。

phpDocumentorの文字化けを直そうと思ってネットで調べると、
'pear_folder/data/phpDocumentor/以下省略'
にある、Smartyテンプレートの文字コード指定を修正する、っての見つけたんで
やろうと思ったんですが、このフォルダが無い。。。

phpDocumentorがSmartyのテンプレートフォルダを設定するところにecho文を書いたりと、45分迷ったあげく、
phpDocumentorのWebフロントエンドのフォルダの
PhpDocumentor/phpDocumentor/Converters/
以下に有るのを発見。。。

Webフロントエンドを入れると、違うとこに保存されてるんですね、tplファイル達。
疲れた。。。

get_categories

よく使うんで、リファレンスのリンクメモ。
get_categories

よく使うMIMEタイプ一覧

毎回調べてるんで、メモ。

  • text/xml

Tweener

リンクのメモ。
Tweener

MA4 & 顔ラボ

Sunが主催するMashupのコンテスト。賞金100万円!!
MA4
とりあえず、MA4のセミナーに申し込んでみました。
今日の今迄、モッシュアップと思ってたぼく。。。恥ずかしい。。。

MA4のサイトで見つけた面白いWebサービス。
Fuji Filmが提供するサービスで、写真の顔判定をしてくれるもの。
笑顔のランク付けのサンプルが楽しかったです。
研究室の後輩3人としてみたら、2位。まずまずだな。。。
顔ラボ
スマイルチャンプ

gModeler & gskinner

Webブラウザ上でクラス図を作ったりできるサイト。
XMLでの書き出しや、HTMLの生成も出来ちゃう。すごい。。。
gModeler
AS2でつくってるいたいですね。

これを作った会社 (チーム??)のサイトもかっこいいです。
gskinner

世の中、すごい人たちがゴロゴロ。世界は広いっす。。。

FlashのUserAgent値

FlashのUserAgent値は、URLRequestDefaultsのuserAgentプロパティで設定するみたいです。

デフォルト値は、ブラウザによって違っているみたいですね。

でも、AdobeAIRは入るのかな?

Home > Development

Search
Feeds
Meta

Return to page top