2006-07-03
_ ヨーグ・レーニーのScriptographerが公開
processing.orgをチェックしていたら、関連サイトにヨーグ・レーニーのScriptographerが追加されていました。PingMagのセミナーでもScriptgrapherは見せてもらっていたんですが、6月中頃よりダウンロードできるようになったみたいです。Javascript+Adobe illustratorという組み合わせはなかなかないので要注目。後でためしてみよう。
2006-07-16
_ ActionScript Virtual Machine 2のパフォーマンスチューニング
FlexCoderさんのはてなダイアリにAVM2に関するPDFのリンク があったので、メモ。4/14にあったFlashOOP勉強会のKamijoさんの解説に、「型情報をもったことへのメリット」の説明があったが、このことについての詳しい解説が、Adobe SystemsのGary Grossman氏によるPDF、ActionScript 3.0 and AVM2:Performance Tuningに説明されている。
4/14のKamijoさんの説明をメモした記録によると、以下のような違いがあるとのことだった。
- 今まで(ActionScript2)は型へのアクセスはハッシュ。だから遅かった。
- これからはアドレスでアクセス。高速化する。
Kamijoさんの説明はおそらく、このAdobeの情報を元にしてあるのだろう。PDFによると、型情報を持たない場合は従来どおり("Atoms"とPDFにはある)の動的なオブジェクトによる管理を行う。AS3ではTraitsという仕組みできちんと個々のオブジェクトのメモリ割り当てを型情報にあわせてサイズを決めて、メモリの番地を指定するようだ。C言語でのallocとポインタの関係に近いのかな。そのためにAS3ではしっかり型を指定すれば、高速化されるわけだ。
個人的にはAS3には結構期待している。AS2までの「なんだかよーわからんけど、バグっぽい」というFlashと念で対話しないといけない状態がだいぶなくなるし、動的型付けと静的型付けを両方持ってるところが今の言語のトレンドに沿ったものになってる。
動的型付けと静的型付けを両方持った言語を並べてみる。AS3の"*"(アスタリスク型)に相当するものは、C#はobject型,Objective-Cだとid型,さらにD言語にはauto型があり、こういった言語から移行してくる場合もそのあたりの違いがわかると楽そう。
というわけで、ぼちぼちActionScript3の勉強をはじめてます。