[EMAIL PROTECTED] wrote on 06/05/2005 10:48:29 PM:

> - The machine code concatinating technique consumes much memory.
>   In my experience, generated machine code is about 10 times larger
>   than the original instructions in Java bytecode.
> 
> In the paper, the authors have not mentioned memory consumption of the
> technique.  We cannot guess how much it is precisely, but it is
> possible to be a big drawback.  Yes, we can say the same for the
> approach taking a baseline compiler instead of an interpreter (like
> Jikes RVM).  Memory consumption of the baseline compiler of Jike RVM
> is very interesting.

It's platform dependent of course, but on IA32 isn't too horrible.  For 
example, running SPECjvm98 we see a 6.23x expansion from the Jikes RVM 
baseline compiler machine code bytes over bytecode bytes.  One thing to 
note is that a threaded interpreter would see something like a 2-4x 
expansion over "normal" bytecodes when it converts from bytecodes to its 
internal form (arrays of function pointers). So, a 6x expansion is 
probably only roughly 2x worse than some interpreted systems would 
actually see in practice. You can get this data out of Jikes RVM for your 
platform/program with -X:vm:measureCompilation=true.

--dave


Reply via email to