The Java Language with its clean design and object oriented focus is quickly revolutionizing the programming world. But unfortunately, the road to the embedded space has one major roadblock: Performance. Poor Java execution times threaten the success of many embedded projects. At the heart of every Java runtime is a bytecode engine which processes Java instructions (bytecodes) residing in higher software layers. This engine is directly responsible for Java execution speed. Today's embedded Java runtimes suffer poor performance due to the following factors: Cost constraints limit
microprocessor speed, memory and on-chip cache
size Java is new in the embedded
space and still somewhat immature there Interpreters are slow compiled
'C' code or assembler source that mimics such
code Some processors use software
floating-point which is typically inefficient
Memory constraints and small
caches greatly limit adaptive compiler (JIT)
performance |