TIP: Click on subject to list as thread! ANSI
echo: osdebate
to: DAVID BOWERMAN
from: SCOTT LITTLE
date: 1997-05-14 02:59:00
subject: Which Is The Best?

 [ Quoting David Bowerman to Scott Little ]
 DB> Scott, what do you think a JIT is?
An on the fly compiler (or more correctly, a converter - since bytecode is
an executable, for a different CPU).
 DB> Have you any idea of what a just in time compiler does?
Takes Java bytecode, and converts into native code.
 DB> It compiles the Java code to CPU specific machine code.
It is already compiled. It converts (I guess that could be technically a
recompilation) from one form of executable to another.
 SL> If the Java code was compiled into CPU specific versions there
 SL> would be no problem. JITs cannot match CPU specific, precompiled
 DB> And why not?  A compiler is a compiler is a compiler...
Why can't JIT's match the speed/size of pre-compiled native programs? 
Because JITs convert on the fly. Native code is already compiled (and so far,
much more efficient that converted Java bytecode).
And also because the JIT is in memory, and takes up system resources because
it must interface between the program and the OS. The JIT must continually
check to see if it has already compiled that bit - if so, run it, if not,
compile it. Saving recompiled code adds to the disk space used.
 DB> When we run into 300MB graphics suites written in Java, we'll have to
 DB> worry about that one.
Typical 1970's comment. Yeah, 640K - NO WORRIES!
Think ahead. Forget this "we'll cross that bridge when we come to it"
mentality.
 SL> These must be the latest wave of JIT compilers. They don't really
 SL> fit into the definition of JIT if they save native code.
 DB> Gee.... someone improves the original concept and Scott want to
 DB> complain that it doesn't fit into his preconceptions. 
When I was talking about JITs, I was going by the original definition, in
the context of Java bytecode. This means the compiler acts like a smart 
ache,
and compiles/converts data on the fly, before it's needed (JUST IN TIME).
I would still much rather have a converter, possibly within the install
program, or as part of the installation process. That way, as the Java 
rogram
is being installed, it can be converted into native code. This results in not
needing a JIT loaded into memory and taking CPU time, and no extra space 
needed
since there is only native code, not Java and native code.
Regards,
 - Scott
[ admin@cyberia.asstdc.com.au | www.asstdc.com.au/~cyberia ]
--- FMailX 1.22
3:712/848)
---------------
* Origin: Cyberia Internet, Fidonet, Battlenet..

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.