2016-04-13 5 views
2

私のプロジェクトは、BeagleBone BlackやRaspberry Piのような小さなコンピュータでWebサーバーを実行することです。JavaはBeagleBone Black(またはRaspberry Pi)でうまく動作していますか?

私の質問は、どの言語が優先され、JavaまたはC++ですか?私の計画は、tomcatを実行し、Javaを使用してWebサーバーを作成することです。

BeagleBone Blackのような組み込みシステムで動作するJavaのパフォーマンスが悪いという人が多く聞いてきました。 JavaはC++よりもパフォーマンスが悪いですか?

ご迷惑をおかけして申し訳ございません。ありがとう

+1

現在私のJavaプロジェクトでRaspiを使用しています。私はそれが私のコードをかなりうまく動かすことがわかりますJavaは、どのシステムでも、JVMのどこを走らなければならないのかが遅くなるでしょう... – flakes

答えて

3

ARMリリース用のJavaがあります(アーキテクトBBBが動作します)。そのJavaバージョンはOracleによって作成され、公開されていないクローズド・ソース・ライブラリが公開されています。

私が読んだ主な苦情は、オープンソースであり、ARM固有のコードを持たないため、BBB上のOpenJDK Javaに関するもので、一般的な1つのサイズは約4 Oracle javaより5倍遅くなります。

C++では、どのJavaコードもC++よりも遅くなります。これは、C++コードが特定のボード(this video helps to explain)に準拠しているため、その特定のボード上でのみ実行されますが、JREで使用できる特定のバージョンがあるにもかかわらず、JDKを介したJARはボード固有ではないためコンパイルされています。特定のボード用にすでにコンパイルされているコードほど高速ではありません。

最後に、優先言語は、あなたがやりたいことと製造元が提供する正式なサポートに依存していると言われています。 BBBは何も示唆しておらず、それをユーザーに任せているようだ。したがって、ベンチマークテストを実行し、ニーズに最も適したテストを確認することをお勧めします。

希望すると便利です。

+0

"javaコードはどれも遅くなり、C++は遅くなります"というのは間違っています。優れたJVMには、JITコンパイル、混合モード実行、プロファイリング、および最適化解除が実装されており、優れたパフォーマンスを引き出すことができます。 –

関連する問題