GC最適化

abdev GC最適化 はコメントを受け付けていません。

昔作ったAB製のアプリを最新のAB5βで動かすと、結構遅く感じます。速度に関する一番の原因は恐らくGC。マーク&スウィープはリアルタイム性を持ち合わせたいプログラムには少々不適合です。

そこで、世代別GCへと改良を行います。ABはアンマネージドベースのネイティブコードがベースになってそれぞれの言語機能を提供しているため、Java VMやCRL上ではサポートされるオブジェクトの暗黙的な移動が行えません。即ち、コピーGCやメモリコンパクションは行えないということになります。

こうなると、世代間GCへの移行は少々難しいのではないかと思われますが、そこは頭をひねって回避できそうです。メモリオブジェクトにマークをつけることで擬似的なコピー動作を生み出し、メモリインスタンスは不動のままコピーGCに似通った制御が可能です(本当の意味でのコンパクションは行えませんが、このご時世、それが致命的になる可能性は低いと仮定します)。

まずは、メモリオブジェクトの年齢制御、Old空間からNew空間への参照をリアルタイムに検地するライトバリア機構を導入することにします。

おそらく、この改良で結構な速度改善が得られるはず。GCによる回収処理で生じるスレッド停止時間は大幅に軽減され、体感できなくなることでしょう。

インターフェイス周り実装完了。そして…

abdev インターフェイス周り実装完了。そして… はコメントを受け付けていません。

ついに実装ハードルが高かったインターフェイス機構の開発が完了。インターフェイス周りに関しては仕様的にも一通りの部分が完成しました。

お次は列挙型同士をor演算可能にすることと、デリゲートのInvoke系を実装するところでしょうか。更にそれらが完了したら後回しにしまくっていた例外処理機構の実装になります。

早いところ、IDEインターフェイス周りの改修に入りたいところです。

CMS導入中…

abdev CMS導入中… はコメントを受け付けていません。

そろそろAB5も世に出そうということで、この際サイト再構築をササッと片付けてしまおうと思います。

一時的にご利用になれないコンテンツなどが存在するかもしれませんが、何卒ご容赦ください。今週中に今までのサイト機能のすべてを復旧させたいと思います。

あとは、CMS導入を通してサイト更新頻度を増やしたいところ。FTPアクセスが面倒で更新が滞っていた一面もあったので、ab.comの再燃を願いたいところです。

そんなこんなで今日は徹夜です。

インターフェイス機構実装中

abdev 23 Comments »

GC、ジェネリクス、デリゲートと、高度な言語処理機構を実装してきましたが、引き続き、インターフェイスのサポートを可能にすべく作業を進めます。

なんといっても、一つのクラスで複数インターフェイスの実装を可能にし、更なる共通性の向上が行えるのが嬉しいところ。ABでは、vtblに関してはC++の内部実装を参考に開発を進めていましたが、今回インターフェイスのサポートを行うことで、vtblリスト→vtblという形で一回層分、情報を挟む形になりました。

しかし、C++の内部実装を崩すことでCOM操作が一時的にサポート外ということになります。おそらく、COMあたりはLegacy Interfaceということで別枠対応を行おうと考えていますが、ちょっと難易度が高そうです。

インターフェイス実装時に基底クラスメソッドの取り込みを行うかどうか、同一メソッドを有する複数のインターフェイス実装をどのように行うかなど、いくつか課題が残っているので併せて対応が必要そうです。

今回も一区切りつけるにはもう一頑張り必要かも…

2007年度未踏ユースブースト会議

abdev 2007年度未踏ユースブースト会議 はコメントを受け付けていません。

2年ぶりにブースト会議に参加していますが、オモシロイっすね~。

気が付いたら私もオービーですよ!

前々年度でも「ウダー」が人気プロジェクトにあがっていましたが、今年も音楽ツールが出ています。しかもパッと見カッコイイ。インタプリタと空間的な音楽を組み合わせたような発案が聞けました。

http://www.ipa.go.jp/jinzai/esp/2007youth

未踏ブースト会議には、夜の部という素晴らしい枠があり、オービーは5分プレゼンせよ!みたいな感じになっています。私はAB開発の進捗ということで話をしましたが、ホント、早くVer5.0を世に出せるようにせねばならないです。来年のブースト会議のOB枠では、リリース後の様子を語りたいっす。

明日も引き続き発表が聞けるのでワクワクですよ!

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン