Remember the hub-ub of “Java is slow” back in the 1.x days?
Remember the buzz when .NET had the stack vs. heap ’struct’ world?
Brian Goetz is here to discuss Urban performance legends, revisited.
Brian gets down and dirty, and will amaze you with quips like:
Pop quiz: Which language boasts faster raw allocation performance, the
Java language, or C/C++? The answer may surprise you — allocation in
modern JVMs is far faster than the best
performingmalloc
implementations. The common code path
fornew Object()
in HotSpot 1.4.2 and later is
approximately 10 machine instructions (data provided by Sun; see Resources), whereas the best performing
malloc
implementations in C require on average between 60
and 100 instructions per call (Detlefs, et. al.; see Resources). And allocation performance is not a
trivial component of overall performance — benchmarks show that many
real-world C and C++ programs, such as Perl and Ghostscript, spend 20
to 30 percent of their total execution time inmalloc
and
free
— far more than the allocation and garbage
collection overhead of a healthy Java application (Zorn; see
Resources).
Give it a read, and don’t say “Java is slow”. Well, what about embedded devices, can we still say that realtime java isn’t quite there?
September 13th, 2007 at 3:13 pm
Lopoik kloi srot!
dakotaweb das
http://index.dakotaweb.cn
der!