主な変更点は以下のとおりです。
・バグフィックス
・パフォーマンスアップ
・Windowsの開発環境をVisualStudio2008 → VisualStudio2012
本来なら0.85というキリのよい数字なので、ロードマップで示している機能(リソースの解放機能)を入れようかと思っていたのですが、アーキテクチャの改修は進んだのですが、時間的な問題でリソースの解放機能は入れずじまいになりました。
ただ、アーキテクチャの改修のおかげでパフォーマンスがさらにアップしました。
また、OSのバージョンアップ(Windows7→Windows8)に伴って開発環境が変わりました。このあたりは別途レポートしたいのですが、多分しばらくは無理でしょう。
例によりベンチマークを行ってみました。
◆Windows上でのJavaScript vs ADP
■マシン
・CPU Core i7-980X(3.33GHz HT OFF / Turbo Boost OFF)
・メモリ 48GB(DDR3-1600 8GB × 6)
・OS Windows 8 Pro (x64) 電源管理:高パフォーマンス
■結果
IE 10(JavaScript) | 35ミリ秒 |
FireFox 22(JavaScript) | 70ミリ秒 |
ADP 0.82(32ビット) | 202ミリ秒 |
ADP 0.85(32ビット) | 171ミリ秒 |
JavaScriptとの対決ですが、桁が違うので更なる改善が必要ですが、少し気になるのが、FireFox22で、以前、測ったときはFireFoxは圧倒的な強さを見せたのですが、ここに来て失速がみられます。なにが要因なのか興味深いところではあります。
ちなみにテスト環境を整備していて気が付いたのですが、CPUのHTがONの状態のときのJavaScript(IE,Firefox共に)パフォーマンスが1.5~2程度低下していました。JavaScriptを高速で動かしたい場合は、HTはOFFの方がよいかもしれません。
◆CentOS6.4上でのPHP,Java,ADP
■マシン
・CPU Core i7-980X(3.33GHz HT OFF / Turbo Boost OFF)
・メモリ 24GB(DDR3-1066 4GB × 6)
・ホストOS Windows 2008R2(Hyper-V)
・ゲストOS CentOS 6.4(実行環境)
■テストコード
テスト1:28のフィボナッチ数を求める PHPソース(Test1.php) Javaソース(Test1.java) ADPソース(Test1.p)
テスト2:10万までの素数を求める PHPソース(Test2.php) Javaソース(Test2.java) ADPソース(Test2.p)
テスト2のPHPのコードですが、Stackoverflowさんのコードを使わせて頂きました。
■結果(timeコマンドのuser部分を抜き出した)
テスト1 | テスト2 | |
---|---|---|
PHP(5.3.3) | 201ミリ秒 | 33.5秒 |
Java(1.6) | 44ミリ秒 | 5.0秒 |
ADP(0.82) | 186ミリ秒 | 3.7秒 |
ADP(0.85) | 157ミリ秒 | 2.4秒 |
OS以外は、以前のテストと同様の環境ですのでPHP、Java、ADP 0.82はあまり変化はありません。ADP 0.85は順当にパフォーマンスが上がっていることが解るかと思います。