この期に及んでコンパイラのバグ修正とか…orz
いや、class A { T<A> member ; } ; なクラスを定義するとき、テンプレートクラス T<A> の実装が特定の条件でバグることが発覚…
詞葉コンパイラは、テンプレート機能は C++ に対してある程度の範囲までしか互換性が無いので、「それは無し」っていうのはありではあるんですが、私が使いたいのでNG(汗)。
それはさておき、明日はアニメ「はたらく魔王さま」のBD購入者特典(?)のイベントが当選したので日比谷公会堂に行って来ます。
超絶忙しいんですけどね…(-_-;
冬コミ、何か出せるもの、間に合うかなぁ〜(汗)
とりあえず、EntisGLS4s はどこの段階で初めのバージョンをリリースするか迷ってます。
ぶっちゃけ、既にリリースしてもいい位のところまでは来ていますが、ライブラリに初めからもうちょっと付けておきたい機能とかもあって、難しいところです。
現状では、2D or 3D のアクションやシューティング系のゲームを作るのには十分ですが、AVGを作るには不十分な状態です。(低水準の機能はおおよそ揃っているけど、それを高水準レイヤから使う部分は揃ってない)
いずれにせよ、全部は揃ってない状態でαバージョンをリリースすることにはなるでしょうけど…。
現在の見通しとしては、
α版=VC++用ライブラリ&Windows 用 Sakura2VM 環境一式
β版=α版+高水準レイヤの増強+AVGシステムのサンプル
1.00 版(って言うかEntisGLS「4s」だけどw)=β版+ARM 用 JIT コンパイラ実装 Android 用 VM
見たいな感じで順次リリースしようかなと。それから後々、EntisGLS4s 上で走るインタプリタ(可変構文の上でJavaScriptとある程度互換性を持たせたい)も実装しようかと。
因みに、配布の際に付属する予定のサンプルコードは、現在19個ほど揃っております。まあ、一つ一つは簡単なものですが、主要どころの機能の典型的な使い方が分かるように(デバッグを兼ねて)作っております。なんか、最終的には30個ほどになりそうな予感です。
ところで、VC++ 用のライブラリバイナリって、VC++6 と、VC++2005 だけで大丈夫なんでしょうかね?w
まあ、VC++環境がなくても、詞葉だけで一応 exe まで作れますが…(Windows 向けなら開発環境として完結しているので。Android 用 apk を作る場合には Android の開発環境を整えた上で詞葉の環境が必要になりますが)
夏コミ2日目、一般参加で行って来ました。
過去の暑かった夏と比べても未体験ゾーンの暑さでした。
館内に雲が出来るというのは過去にもありましたが、外が晴天なのに雲が出来る、というか、館内全体が霧がかっていたというのは、全く初めてでした。
そして救護所が大手サークルに………大丈夫だったのでしょうか? 大手サークルは実際のところ言いすぎかもしれませんが、短い時間で会場を離脱したにも
関わらず、その間に何人も運ばれるのを見ました。こんなの初めてです。ツイッターでも救護所がキャパオーバーになっているのが流れていましたしね。
明日はもう少し涼しければいいのですが…
さて、それはさておき、ここのところJITコンパイラの性能について書いていたので、余談のようなものでも。
これは、以前の表と同様の処理を Android 機と JavaScript で実行してみた結果です。
まず、ARM のネイティブの速度(gccでコンパイル)ですが、VFPv3を使用していると思われるARMv7のバイナリなので、速度をクロック比で見ると Core2 Quad より少し劣る程度で大きな違いはありません。
一方、Java の方は私の知っている通りの結果で、Android2.2 だとネイティブの 1/5〜1/10 程度の速度の範囲となっています。
因みにここで計測している処理は単純な処理なのでこの速度ですが、複雑な処理になると、Android2.1 以前の速度(1/50〜1/100)に近づいて行きます。
なお、Sakura2VM でも、複雑な処理だと、1/10 近くまで遅くなったりします。(通常は x86 ネイティブの 1/3 程度ですが、ここで遅い主要な理由はコンパイラの最適化性能の差です orz)
ついでに、JavaScript でも試してみましたが、いや〜、x86 用の JavaScript の JIT コンパイラは結構狂ってますよねw
この速度は、Chrome とかでも同じです。
処理のデータに変なの混ぜると極端に遅くなるのですが、不思議なくらい速いです。この速度って、Sakura2VMでいうと、詞葉コンパイラがもっと賢
ければ出せる速度、って感じなんですよね。(Sakura2VM 用のインラインアセンブラで手で書けばご存知の通りではあるのですが(汗
型が曖昧な言語でこれって魔法です。(型推論とかするにしても)
かたや Android(ARM) の方は見ての通りです。
|