PHP5.3 その2

今回はPHP5.3のパフォーマンスの向上について調べてみました。


プレスリリースには次のように書かれています。
php.net
・パフォーマンスが向上した。
・140のbugを修正した。

・・・
これだけでは分からないので、他をいろいろ調べてみました。



動作速度改善



Sebastian Bergmannさんがベンチマークを測定していたので、参考にさせていただきます。
Sebastian Bergmann

この方が行ったテストによりますと、PHP5.2とPHP5.3を比較して、7%程度の速度改善が見られるようです。グラフは次のようになっています。

あまり大きな差ではありませんが、大規模なサービスを扱う際には大きな違いになるのではないでしょうか。

それよりも驚いたのが次のグラフです。

PHP3のころから比べると恐ろしく改善されていることがわかりました。旧バージョンのPHPを使っているものがあれば、すぐに置き換えるべきですね。



メモリ


残念ながらメモリに関する詳細な文献を見つけることが出来なかったのですが、ガベレージコレクタの機能追加や、他にも細かい改善がありますので、メモリ周りでも改善があることはかなり期待できます。
詳細は次回述べます。


以上が調べた結果ですが、あいまいではっきり分からなかったので、またいつか自分で測定などしたいと思います。

PHP5.3 その1

2009/06/30にPHPの5.3がリリースされました。
ちょっと調べたので紹介します


PHP5.3??
PHP5.3は、PHP5.2からのマイナーバージョンアップですが、マイナーとは言えないほど多くの、そして大きな機能の追加や変更点があります。
PHP6.0では、Unicodeをサポートするようになるらしいのですが、それ以外の機能で追加する予定だった機能は、5.3でとりあえずサポートしているというような感じでしょうか。PHP6.0への移行がスムーズに行われるようにという狙いもあると思われます。

PHP5.2はどうなるのか
PHPはマイナーバージョンアップがあると,古いバージョンのサポートが打ちきられてたようですが、PHP 5.3にはメジャーバージョンアップに匹敵する言語仕様の変更が行われいるので,PHP 5.2へのサポートは継続されるようです。PHP6がリリースされるまでは継続されるのではないでしょうか。


PHP5.3の主な変更点紹介
それでは、PHP5.3の主な変更点を調べたのでまとめます。


1. パフォーマンスの向上

  • 処理速度、メモリの使用量あたりで改善があったようです

2. 目玉の機能拡張

の機能が追加されたそうです。

3. 機能の改善

  • php.iniの変更
  • 3項演算子の省略形
  • ガーベッジコレクタのサポート
  • クラス外でconst
  • マジックメソッドの追加
  • Nowdoc構文,Heredoc構文
  • HTTPストリームラッパーのステータス処理
  • 入れ子の例外
  • E_DEPRECIATED
  • Windowsサポートの強化

4. モジュールの追加

  • 多くのモジュールが追加され、また削除されるモジュールも多いようです


以上がPHP5.3の主な変更点です。
詳細は、疲労が限界のため、あしたまとめます。
間違ったこと書いてたら突っ込んでください!

ブログを書く!書くったら書く!

ブログ書きたいです。書きたいネタもたまってきましたし、アウトプットはとっても大事だと思います。
でも、でも、でも、でも、なかなか書けない。書くことがあっても書けない。

なんで?


めんどくさいdesu...

広島弁でいうとたいぎーからですね
別に技術的ないようでなくてもいいのに。。。

書く時間はあります。
だから自分に無理矢理書かせることにします。
これからブログに書く予定の内容を先に書きます。
これだけやれば書くでしょう > やまぐつさん


このブログは、下記のような予定で放送されます

2009/9/10 ブログ書く宣言(ふたたび)
2009/9/11 PHP5.3について(パフォーマンス、名前空間、無名関数、レイトスタティックバインディング、goto)
2009/9/12 PHP5.3について(その他追加機能、モジュール)
2009/9/13 PHP5.3について(注意が必要なこと php extensionとか)
2009/9/14 ディズニーシーから感じた技術者魂
2009/9/15 OpenCVSnow Leopardに入れる
2009/9/16 わたしは真悟を読んで
2009/9/17 iPhoneが故障した!!
2009/9/18 OpenCVの使い方(読み込み、表示など)
2009/9/19 つげ義春について
2009/9/20 Yahoo!JapanのOAuthをつかう
2009/9/21 iPhoneが膨張した!!
2009/9/22 OpenCVの使い方(しきい値処理など)
2009/9/23 CNET ネットサービス連携で進化する家電・情報機器をみて
2009/9/24 ビールのこと
2009/9/25 OpenCVの使い方(エッジ検出など)
2009/9/26 OpenSocialを調べたorなんか作った
2009/9/27 OpenSocialを調べたorなんか作った
2009/9/28 OpenSocialを調べたorなんか作った
2009/9/29 OpenCVの使い方(ほかなんかあったっけ)
2009/9/30 OpenCVの使い方(ほかなんかあったっけ)


こんな感じで(仮)!
結構たいへんそうだし、まだやってないことばかり勝手に書いたので未来の自分が苦しむことが目に浮かびますが、まあいいんじゃないでしょうか。

たのしかった、ビアガーデン[修正]

なんとかの集計結果です!

参加者18人


基本料金   18×3000 = 54000
追加料金   スーパー  2000
       夏     2700
       山     4100
合計           62800


わることの 17*1 = 3694.11765


みんなからは、3500貰ってるので、一人あと200円下さい!
そんでもって、スーパーには1800、夏には2500返します。
残りを私がいただいて終了でございます。
ありがとうございました。


写真はここから見れるみたいですよ!
http://bit.ly/nbbegarden
パスはまるたんむに聴いて下さい!

*1:0年めは抜いています

twitter_botいっぱい作った

8月15日、終戦の日
高度に平和教育された広島人は、この日にもやもや考え事したりします。

そんな中こんなbotがしゃべりました。

@gyokuon : 終戦詔勅玉音放送)を放送する twitter bot を作った

http://d.hatena.ne.jp/mohayonao/20090806

なんか結構楽しかった。
POSTを待つわくわく感があったりして。
で、これにインスパイやされて、botをつくりました。
定期的になにかつぶやくbot。作るのはとっても簡単ですねー。

作ったのは以下、python + python-twitterで作りました。


08h08m
なつかしい。。。
ちっちゃいころの夏休みを思い出します


ge_monday
ある人がいなくなって寂しいので作りました


honki_dasu
今日は残り何時間、本気出さなくていいの?
という腹の立つことをつぶやいてきます。
これは面白いので台詞を増やす予定。


calender_bot
jihou_bot
この二つは日付とか時間をpostするだけですが、
タイムラインに横線が入ったら便利になるんじゃないかなーというコンセプトで作りました。
もっと分かりやすい見た目に出来たら便利なんじゃないでしょうか。
@jihouというbotをあとで見つけましたが、キニシナーイ。


yayoyayoyayo_bd
ある人の誕生日におめでとうします。


と、twitterに負担をかけるだけのお仕事をしています。

世界一賢いtwitter bot作った

ちょっと前に、twitterbotを作りました。
私が作ったbotはこの人*1です。

http://twitter.com/Social_bot

まず、この会話を見ていただきたい。









どうだろう。完璧ではないだろうか。
かなりナチュラルな会話である。

しかし、この人にも欠陥があった。
あまりにも賢すぎるために、"意思"を持ってしまったのだ。
この欠陥から、ある特定の人物を攻撃するなどという行為を起こしてしまった。
ほんとうに申し訳ありません。


・・・では、アルゴリズムを解説します。
なんと人間を取り込んだアルゴリズムです。


というかもうあれなので正直にいいますが、これはほんとにどうでもいいbotです。
簡単に言うと、誰でも投稿できるアカウントを作ってみたという感じです。
Social_botに投稿するページを作って公開しています。

これです。
http://yamagutsu.shisobu.in/social_bot/

上記の深刻なバグ、つまりだれでもなんでも書き込めてヤバいという問題を修正するために
twitterのOAuthに対応させたりしました。
今では、OAuthをAllowしてからでないと書き込めません。
そして、書き込むと#YamaGutsuという風に書いたひとの名前が
ハッシュタグでつくようにしています。

是非試してみてください。
Social_botに質問するのも歓迎です。
誰かが答えてくれるはず。。。

ということで、、、
今度はもっと世界の役に立つもの作ります。
今回はとりあえずPHP*2とOAuthを動かせただけでよしとしていまスヤ。

ほんとはOAuth使ってみたとか書いた方がいいのかな。
また今度。

*1:ロボット屋さんは自分が作ったロボットを"この人"と呼ぶ人が多い

*2:最初PHPしか入ってないサーバで開発してたのでとりあえず