Im interested in knowing which kind of processor can give the best performance when running headless jME instances. I've searched the web for benchmarks but I'm not really sure which benchmark suits jME. I stumbled across SPECjbb2000 but as far as I can tell that's more oriented at bussiness applications. Since I am going to run multiple headless instances of jME I'm guessing that a multi-core solutions in clusterform would be the best approach to maintain scalabillity and take care of the multiple instances I'll be running. To narrow everything down I would say there is the Xeons on one side and the Opterons (dual core though as the quad Barcelona isn't in stock and has some issues as well.) on the other side. Architecture wise, does anyone beat the other? From what I know, Intel processors are generally weaker with floating point computation that AMD is but the latest productline might have solved it?
Also, In my search I stumbled across the following free JVM which supposedly optimises Garbace Collection and other processes on the Intel platform. Is it advisable to switch JVM's should a intel-processor be picked?
http://www.bea.com/framework.jsp?CNT=overview.htm&FP=/content/products/weblogic/jrockit/
Finally, I also read on a different forum the JVM has alot of options that can be used to optimise performance. Since jME is quite a specific subject my bet is that folks from this forum could shed some light on this?
Im hoping someone on this forum has some experience with this and could point me in the right direction.
Thanks!
As far as general floating point operations go, I would say that intel and AMD are nearly equivalent when running jME. What matters is general processor speed and cache capacity - the bigger, the better.
- I would not recommend running in 64bit mode, because Java with 64 bit is slower (because it passes around a lot of pointers for objects and functions and 64 bit pointers cost more)
- For best performance/stability stick with latest released JVM from Sun. Often the third party "optimized" JVMs tend to be less stable.
- If you are running on the server side and not planning to restart your applications very often, launch your JVM with “-server” option. It takes longer for the server JVM to optimize all the code, but once it’s done, it’s noticeably faster than the default client JVM.
Here is an article on Java performance tuning you might find useful:
http://java.sun.com/performance/reference/whitepapers/tuning.html#section4.1
Ill start reading that white paper right away. That's just what I needed. Although isn't it dated? Last update was 20 december 2005. The introduction states its a living document but it's hard to think that there hasn't been any update in 2 years?
Thanks for the link!