need for speed, java vs c++ and the stack

Yes, for long run processes (raytracing, radiosity and such things ), it might be more interesting to use escape analysis, but for games GGC makes a perfect job at the moment.
Problem i have with escape analysis is its use with runtime generated code. Wondering how it will perform…

[quote]Me, I’m very happy with the GCs that exist today. And I’m sure things will get even better in the future!
[/quote]
Same for me. GGC turned out to give quite impressive results that i would not have imagined.

Alien Flux put escape analysis to good use when it was Jet compiled. It never skips a single frame. No amount of tuning the GC quite manages the same effect, and even if it did, it still costs a quite a bit more to run than simply not having to collect ing the first place. And having said that, I just don’t care any more and new() with wild abandon in Super Elvis and pauses be damned, they’re hardly noticeable anyway. EA is really only proper useful in soft-realtime environments (like the TV graphics stuff I do).

As for that separate VM thing - Java has always been eminently capable and and perfectly designed to do it. The JVM is at its core, after all, just a virtual processor. Classloaders already do all that separation stuff. The problem is separating the GC and threading semantics effectively and sensibly. Not so easy. But not so impossible either.

Cas :slight_smile:

Classloaders don’t do all the separation that is required. Notable problems include native code (what happens if two isolated instances try to load/use the same native library), and a small number of static values in the core system (which is managed by the single system class loader and hence can’t have multiple copies).