2016-04-13 20 views
2

Projem, BeagleBone Black veya Raspberry Pi gibi küçük bir bilgisayarda bir web sunucusu çalıştırmak.Java BeagleBone Black'de (veya Raspberry Pi) iyi çalışıyor mu?

Soruma hangi dilin tercih edildiği Java veya C++? Benim planım bir tomcat çalıştırmak ve Java kullanarak bir web sunucusu yazmaktır.

Birçok insanın BeagleBone Black gibi gömülü sistemlerde çalışan Java'nın düşük performansı hakkında konuştuklarını duydum. Java gerçekten C++ çalıştırandan daha kötü performansa sahip mi?

Herhangi bir düşünce takdir edilmektedir. Teşekkürler

+1

Şu anda java projemde bir Raspi kullanıyorum. Kodumu oldukça iyi çalıştıracağım. Java herhangi bir sistemde daha yavaş olacaktır, ancak JVM'nin üzerine koşmak zorunda olduğu yerde ... – flakes

cevap

3

ARM serbest bırakma için yapılmış bir java var (mimar BBB çalışıyor). Bu java sürümü Oracle tarafından üretilmiştir ve halka açık olmayan kapalı kaynaklı kütüphaneler içerir.

Okumakta olduğum ana şikayetler, açık kaynak kodlu olması ve ARM'ye özel kod içermemesi nedeniyle BBB'deki OpenJDK java hakkındadır ve bu nedenle genel bir boyut, yaklaşık 4 veya daha fazla olan tüm java çözümlerine uygundur. Daha sonra 5 kez daha yavaş Oracle java. C++ açısından, herhangi bir java kodu daha sonra C++ olacak şekilde daha yavaş olacaktır. Bunun nedeni, C++ kodunun belirli bir devre kartı (this video helps to explain)'a uygun olmasından kaynaklanmaktadır ve bu nedenle yalnızca belirli bir tahta üzerinde çalışmaktadır, buna karşın java JRE için belirli sürümlere sahip olsa da, JDK üzerinden olan kavanoz karta özgü olmayan bir şekilde derlenmiştir ve Belirli bir kart için önceden derlenmiş kod kadar hızlı değil.

Son olarak, tercih edilen dil, ne yapmak istediğinize ve üretici tarafından sağlanan herhangi bir resmi desteğe bağlı olduğunu belirtti. BBB hiç bir şey önermiyor ve kullanıcıya bırakıyor. Bu nedenle en iyi fikir, bir test testi yapmak ve ihtiyaçlarınıza en uygun olanı görmek.

Bu yardımcı olur umarız!

+0

"herhangi bir java kodu daha yavaş olacak, sonra C++" doğru değil. İyi JVM'ler JIT derleme, karışık mod yürütme, profil oluşturma ve de-optimizasyon uygulayarak mükemmel performans elde edebilirler. –

İlgili konular