sun memo reveals java's bloat, puts it on a par with python
Wolfgang Lipp
lipp at epost.de
Sat Feb 15 11:58:09 EST 2003
the following snippet from an allegedly authentic memo,
published on internalmemos.com, makes for a quite
interesting read that provides an informed insiders´
view on some of the biggest problems of java. of course,
everybody on this list knows all of these points, but
then, some executives don´t, yet. the quoted passage
cites a study that diagnoses "a rough parity in
performance" between java and python; in addition, it
estimates python to be needing 1.6M for a "hello world"
application, while java is at, roughly, 9M. well, if it´
s only written to say "hello", then, probably, you could
get away with a 0.8M python, i guess.
(the study mentioned is available via
http://citeseer.nj.nec.com/correct/312227 and
http://www.ipd.uka.de/~prechelt/Biblio/jccpprt_computer2000.pdf; it
has been listed on http://www.python.org/doc/Comparisons.html)
memo.url = "http://www.internalmemos.com/memos/memodetails.php?memo_id=1321"
memo.headers = """
Sun Microsystems
The Java Problem
The Java Problem
Author: Julian S. Taylor
Reviewed by: Steve Talley, Mark Carlson, Henry
Knapp, Willy (Waikwan) Hui, Eugene Krivopaltsev,
Peter Madany, Michael Boucher
"""
memo.quote[0] = """A study performed by an outside team
appears to indicate a rough parity in performance
between Java and a common implementation of another
OO language called Python (see IEEE Computing,
October 2000, "An Empirical Comparison of Seven
Programming Languages" by Lutz Prechelt of the
University of Karlsruhe). Both platforms are Object
Oriented, support web applications, serialization,
internet connections and native interfaces. The key
difference is that Python is a scripting language.
This means there is no compilation to byte code so
the Python runtime environment has to do two things
in addition to what the Java runtime environment
does. It has to perform syntax checks and it must
parse the ascii text provided by the programmer.
Both of those tasks are performed at compile time by
Java and so that capability does not have to be in
the JRE.
Given this data, it appears that the JRE can
actually be simpler than the Python RE since Java
does at least some of this work at compile time. The
example above of "Hello World" is a good method for
getting an idea of the minimum support code required
at runtime. This support code includes garbage
collector, byte code interpreter, exception
processor and the like. Hello World written in Java2
requires 9M for this most basic support
infrastructure. By comparison, this is slightly
larger than automountd on Solaris8. The Python
runtime required to execute Hello World is roughly
1.6M. """
More information about the Python-list
mailing list