I just made a fascinating discovery about defineClass(...);
It is theoretical thus far. .. but when applied to my code it ideed makes my
code over 4 times faster.
Someone give me a sanity check
I have this class layout
LispObject
-> LispProc
-> Dynamically defined classes
-> LispInt
-> LispString
-> LispChar
-> LispFloat
-> LispEtc...
I run code.. and the JIT is caching very well and being smart.
I add a new "-> Dynamically defined classes"Some of the JIT caches get blown
away
My code suddenly goes very slow .. but warms up.
I add a new "-> Dynamically defined classes"
Some of the JIT caches get blown away
My code suddenly goes very slow .. but warms up.
I did this for over 700 seconds
So here was what I did:
LispObject
-> LispProc
-> Dynamically defined classes
-> LispJITShim
-> LispInt
-> LispString
-> LispChar
-> LispFloat
-> LispEtc...
I copied the code verbatum from LispObject to LispJITShim and made the existing
classes subclass the shim.
Now when a dynamic defined class happens.. it blows out LispObject cached JIT
But the pre-existing classes keep all their JIT intact.. because LispJITShim
never calls its 'super'
the work done in 700seconds is now all done in 160seconds!!!!!!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "JVM
Languages" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/jvm-languages?hl=en
-~----------~----~----~----~------~----~------~--~---