GNU Classpath

harmony-dev MLに投稿されたページのGNU ClasspathとMauveの進捗状況グラフにびっくりして,

http://gnu.wildebeest.org/diary/index.php?p=70

いまさらながらGNU Classpathのアナウンス文を見た.

http://www.gnu.org/software/classpath/announce/20050429.html

結構面白いのは,以下の点とロックフリーのThreadLocal実装かな.

  • nio, nio.charset, ioが最適化され,大幅に(2〜20倍?)早くなっているらしい.実は,nioのコードを最初に見た時には目が点になった.あれをどのように高速化しているかは興味深い.
  • 文字符号化変換部分が,完全にnio.charsetで書き直された.
  • ネイティブのiconvを使えるようになった(同種の機能はMac版に昔からあり).

JITの方が必ずしも早いわけではないという指摘をした別記事があったのだが,GCJ 4.0で-O2オプションを使ってコンパイルすると,J2SE 1.5に-serverオプションを付けた場合より速いらしい.このあたりは,コンパイラの違いというより,クラスライブラリの違いという気がする.

Oさんも最近がんばっているようだし,これからウォッチする価値はあるか?