Does HotSpot do dead code elimination?

[quote]Building HotSpot isn’t difficult under any of the unixes (make fastdebug), but Windows requires a bit more work
[/quote]
I bet Mac OS X isn’t included in “any unixes” :frowning:

Are you saying there is no Developer Studio project to just load and click “build” :slight_smile: ?

I’d love to know if for your own release builds you use something like Intel’s compiler and you didn’t cheap out on something known to produce inferior intel code like gcc.

Well Apple does the porting for OSX, so you’ll have to ask one of them.

Well for our platforms, we use the Sun Compilers for Solaris (SPARC and X86), we use GCC for the Linux platforms and MSVC++ for Windows. A long time ago I tried using Intel’s compilers and at least back then the resulting binaries were horrible broken, and I didn’t try very hard to figure out why. Although other people have done similar tests (when we changed Solaris compilers for example), and we’ve found that the C++ compilers didn’t make much of a difference in performance for Java. Mostly because Java spends most of its time in generated code.

This depends on the library used by the java app. Java2D, for example, has a lot of native code (most of the rendering loops are native), and recent experiments with VC7 free MS toolkit showed some promising results - generated code was smaller and faster (at least, on 2D benchmarks).

[quote]This depends on the library used by the java app. Java2D, for example, has a lot of native code (most of the rendering loops are native), and recent experiments with VC7 free MS toolkit showed some promising results - generated code was smaller and faster (at least, on 2D benchmarks).
[/quote]
If you went with hand optimized SIMD instructions for things like blitting loops you would get a HUGE performance boost. If you are going to change this area don’t go half way. SIMD instructions would be perfect for the sort of multiply-accumulate operations needed to blit with transparency or translucent areas. Not to mention the filtering used for smooth scaling of image. (But I guess you leave that to the JAI APIs?)

Have you experimented with SIMD for blitting loops?

Hell, just hire a game programmer contractor to write your blit routines and be amazed at the 4x speed increase. It’ll come out of a different budget too so it’ll be easy to get approval for it. And there won’t be any need to wait for 1.6 either, it could go into 1.5.0_01 :slight_smile:

Cas :slight_smile:

On a bit side note, has anybody managed to use java with AMD CodeAnalyst ? So far, I was able to use it only with statically compiled binaries, which is a shame - seems to be a really powerful tool for profiling.