X

An Oracle blog about Java Embedded, Japan

Java SE Embedded v.s. Java ME Embedded

Yoshiki Sato
Senior Software Developer

Java SE EmbeddedとJava ME Embedded (OJEC: Oracle Java ME Embedded Client)のベンチマークを比較しました。
過去のエントリーで、Java SE EmbeddedがJava SE 6互換でフットプリントを半分程度に削減したバイナリリリースであり、一方OJECはJava ME CDC1.1ベースに整理したバイナリリリースであるとポストしてきました。求められるRAM/ROMサイズもJava SE Embeddedは32~64MB/37~46MB以上に対して、OJECは8MB/5MB以上で、それぞれが別々のデバイスをターゲットにしている事も明らかです。

実はパフォーマンスの点では、両者には目立って大きな差は出てきません。Java EGBUチームでも、確認すべくBeagleBoard-xMとGuruPlugを使ってEmbedded CaffeinMark 3.0GrinderBenchでベンチマークテストを実施してみました。

スペックは以下の通り

Java SE Embedded 6u25
Oracle Java ME Embedded Client 1.0 

【GuruPlug】
  CPU: ARMv7 Cortex-A8
1GHz

  RAM: 512MB
  OS: Debian GNU/Linux sheevaplug-debian
    2.6.32-00007-g56678ec  

【BeagleBoard-xM】
  CPU: ARMv5 1.2GHz
  RAM: 512MB
  OS: Ubuntu 11.04 GNU/Linux omap 2.6.39-x1



結果は、それぞれ以下の通りになりました
Embedded CaffeinMark(上グラフ)のStringテストでは、String Cache Optimizationの効果により、OJECの方で非常に高いスコアが計測されています。その一方で、Floatテストについては、ARMv7用のSE EmbeddedのみがHard Float対応のため、BeagleBoard-xMの場合では高いスコアが出ています。
全体的な平均スコアを比較するとEmbedded CaffeinMarkでOJECが16~26%程度、GrinderBenchで12~15%程度高いスコアが出ている事が分かります。CDC素晴らしいですね:-)
GrinderBench(下グラフ)では、なぜかSE EmbeddedでもOJECでも、GuruPlugの方がBeagleBoard-xMよりも高いスコアが出ています。テストプログラムはコア数よりもクロック数が支配的な実装なのでしょうか・・・。別の機会に、もう少し踏み込んで考察してみようと思います!今回はこれまで。

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.