Jeode VS intent - Java PDAの実力
思い起こせば、「シャープがザウルスをアメリカ市場に投入」 という最初のニュースの時には、「Java PDA」という名目だったような気がします。 2001年6月の「JavaOne」で大々的(?)お披露目となったMI-L1ベースのデバイスも、 いつの間にやら、MI-E21ベースの「Linux PDA」に生まれ変わっていて、 申し訳程度にJeode用サンプルアプリが2本載っているだけ。
これまた振り返れば、2001年5月のビジネスショウでは「日本のザウルスと米国のザウルスは、Javaを通してアプリケーションが共通化される」という話だったような気がするのですが。まあ、一応、Java環境は載ってるわけだから、いいのかな?

さて、すっかり「Java PDA」というイメージの薄れてしまった SL-5000Dなのですが、日本版ザウルスとの唯一の共通部分ということで、 話を取り上げてみようと思った次第です。

しかしJavaというのは実はSL-5000Dにおいて重要なポジションにあると思うのです。
というのも、SL-5000D用ソフトの開発には、一般的には

  • Linuxコンソール
  • Qtopia
  • Java
があります(実はX Windowも動くけど、それは特殊だから無視)。
このうち、Qtopia環境でのソフト開発にはライセンスが必要になります。 いや、「オープンソース」で「無償配布」の「非商用」ソフトウェアなら、 フリー版で開発・配布が可能なのですがね。 「フリーでもソースを公開したくない」「低価格のシェアウェアにしたい」 という場合でも、商用ライセンスが必要というのが、なんとも泣けます。 だって、開発者1人当たり約1500ドルですよ、ライセンス。
ところが、Javaならば、商用だろうがなんだろうが、 ライセンスフリーで開発できます。SunからJDKをダウンロードしてこれば、 ソース非公開ソフトだろうが、商用アプリだろうが、 なんでもござれ、ということです。
ただ、ちょっと、ネイティブアプリより動作が遅い、というのが弱点ですか。

さて、話を戻して、日本版&米国版ザウルスのJavaについて。
MI-E1/L1のJava実行環境はTAO社の「intent」で、 SL-5000DはInsignia社の「Jeode」という違いがあります。 どちらもPersonalJava準拠という点では同じだと思うのですが、 「intent」はJIT(Just In Time)コンパイラを積んでいるため、 高速に動作ができる、というのがウリだったと思います。 「Jeode」はJITコンパイラは積んでいないようですが、 それでも速い、って話です。

ただ、「SL-5000D + Jeode」 VS 「MI-E1 + intent」では どっちの実行環境の方が優れてるのかよくわかりません。 ところが、 SL-5000D用の「intent」が「評価用」に配布 されています。 これで、Jeodeとintentを対等に比べることができるようになりました。
ただし、このintent実行環境はROMイメージの形で配布されていて、 SL-5000Dのシステムを総入れ替えすることになります。 ゆえに、「Qtopia PDA」から「intent PDA」へと、大きな変化をします。 ただし、基本OSがLinuxであることには変わりません。 ちなみに、PIMアプリは含まれていません。

(しかし、この配布ページ、どうも日本人が作ってる感じですね。 「This top page is link free.」って、「このトップページにはリンクはありません」って意味なんだけど…。ちなみに「smoke free」は「禁煙」なので喫煙者は注意。)

さて、パフォーマンスの比較となれば、やはりベンチマークでしょう。 Java世界でのベンチマークといえば、 「CaffeineMark 3.0」が有名なんだそうなので、こいつで調べてみます。
運良く、Jeodeを載せたiPaqのデータがあったので、それと比較してみましょう。 ついでに、うちのノートも。

【表1:テスト環境】
端末SL-5000DiPaqMI-E1 Actius PC-A800
CPUStrongARM
206Mhz
StrongARM
206Mhz
SH3
120MHz
Mobile PentiumII
366MHz
OSLinuxLinuxPocket PCZaurus OSWindows 2000
JavaintentJeodeJeodeintentMicrosoft JavaVM

Pocket PCで動くintentがあったら面白かったんですが、 残念ながらないので。

結果は、以下の通り。 iPaqでのベンチマークは知人に頼んだので、一部、取得できなかったデータがあるのですが、取り直しができないのでご容赦願いたく。

【表2:ベンチマーク結果】
端末SL-5000DiPaqMI-E1 PC-A800
intentJeode
Sieve 1321 1221 1164 271 5630
Loop 3305 2688 2848 1306 18223
Logic 2628 2864 2905 1109 123057
String 3899 908 603 105 15730
Float 664 307 300 88 21362
Method 1895 1877 1670 821 8073
Graphics 255 117 35 50 218
Image 361 614 N/A 67 467
Dialog 62 22 21 10 433
CM3 881 582 N/A 168 4858

まず、同じJeodeを使うiPaqと標準のSL-5000Dを比べてみると、 LogicやFloatなどCPUによる演算に関係していると思われるところは 同じようなスコアが出ています。 しかし、GraphicsのところではベースOSでの差が出ているようですね。 iPaqではGeodeはおそらくDirectXなんかの Pocket PC用のグラフィックライブラリを使っているでしょうし、 SL-5000DではQtopiaを使っているのでしょう。 iPaqでのImageが取得できていれば、 ライブラリの差が明確になると思うのですが。残念。

SL-5000DでintentとJeodeを比べた場合、 おおむねintentの方がいいスコアを出しています。 というより、floatが倍、Stringは4倍とか…これがJITコンパイラの威力? 唯一劣るのは、Imageだけですか。 これもグラフィックライブラリの違い(intentはQtopia上では動いていない) からなんでしょうかね?

MI-E1のスコアは…ちょっと寂しいですね。 演算処理で圧倒的に差を付けられているので、 OSの違いもあるものの、 SH3とStrongARMの違いが出ているのかなあ、と。

こうしてみると、やはり、intentってのは強力なJava環境なんですね。 Sl-5000Dに標準搭載されなかったのが残念です。


もどる