Process-level fork on OpenJDK...is it madness?

Jochen Theodorou blackdrag at gmx.org
Wed Nov 30 07:28:56 PST 2011


Am 30.11.2011 14:02, schrieb Rémi Forax:
[...]
>>> What kind of initialization work is this? Could the result of that work
>>> be cached?
>> we have to setup the initial meta class system, which requires to use
>> reflection to inspect some classes and other work. Yes, this could be
>> cached, if we would know how.
>
> It worth to give a try to java.lang.ClassValue, here.
> You you be able to create your metaclass only when needed.
>
> Also note that you can also lazyly initialize the list of methods,
> fields etc. because even if two threads ask the same list at the
> same time, the result will be the same, so there is no need
> to use synchronized here.
> (this is exactly what java.lang.Class code does) :

it is all lazy, but what gives it if you need it for even the most 
simple script? For

println 1+1

you will need the a meta class for the current class, you will need the 
int meta class, you will need to load the default methods too... and one 
second is burnt.

bye Jochen

-- 
Jochen "blackdrag" Theodorou - Groovy Project Tech Lead
blog: http://blackdragsview.blogspot.com/
german groovy discussion newsgroup: de.comp.lang.misc
For Groovy programming sources visit http://groovy-lang.org



More information about the mlvm-dev mailing list