Why Java can be faster than C++
on
Effective Java
·
· Score: 1
In two words, dynamic compilation and inlining. You can do a lot more with dynamic information and dynamic performance profile. Being able to inline 50-100 nested calls in a hot spot may give you something the most sophisticated static compiler will never dream of. (F.e. you can eliminate a virtual method call just because you dynamically know what method you are actually calling; you can inline methods from system and third party classes, etc.). Just don't forget to add -server to your java run.
Babaian's claims for the E2k would sesm unbelievable, if not for the credibility of the Elbrus team. In a 0.18-micron six-layer-metal process, he says, the E2k will run at 1.2 GHz and deliver 135 SPECint95 and 350 SPECfp95, yet it will require only 35 W of power and 126 mm^ of silicon (with 256K of on-chip L2 cache). We protect that in a similar process Merced will operate at 800 MHz and deliver 45 SPECint95 and 70 SPECfp95 in 300 mm^ of silicon at 60 W. Merced, however, is ahead of the E2k in development by at least a year. Even more amazing, Babaian claims the E2k processor will be x86 binary compatible and, after a few tweaks, IA-64 (Merced) compatible as well. To achieve this feat, Elbrus will rely on binary compilation assisted by emulation hooks in the processor, a strategy which, not coincidentally, is similar to the tack that Transmeta is apparently taking (see MPR 12/7/98, p. 9). The similarity might arise from the fact that Transmeta cofounder and CEO Dave Ditzel spent several years at Sun working with Elbrus. Babaian believes, however, that his company's binary-compilation technology is more advanced than any other on the planet.
In two words, dynamic compilation and inlining. You can do a lot more with dynamic information and dynamic performance profile. Being able to inline 50-100 nested calls in a hot spot may give you something the most sophisticated static compiler will never dream of.
(F.e. you can eliminate a virtual method call just because you dynamically know what method you are actually calling; you can inline methods from system and third party classes, etc.). Just don't forget to add -server to your java run.
Impressive Performance Claims
Babaian's claims for the E2k would sesm unbelievable, if not for the credibility of the Elbrus team. In a 0.18-micron six-layer-metal process, he says, the E2k will run at 1.2 GHz and deliver 135 SPECint95 and 350 SPECfp95, yet it will require only 35 W of power and 126 mm^ of silicon (with 256K of on-chip L2 cache). We protect that in a similar process Merced will operate at 800 MHz and deliver 45 SPECint95 and 70 SPECfp95 in 300 mm^ of silicon at 60 W. Merced, however, is ahead of the E2k in development by at least a year. Even more amazing, Babaian claims the E2k processor will be x86 binary compatible and, after a few tweaks, IA-64 (Merced) compatible as well. To achieve this feat, Elbrus will rely on binary compilation assisted by emulation hooks in the processor, a strategy which, not coincidentally, is similar to the tack that Transmeta is apparently taking (see MPR 12/7/98, p. 9). The similarity might arise from the fact that Transmeta cofounder and CEO Dave Ditzel spent several years at Sun working with Elbrus. Babaian believes, however, that his company's binary-compilation technology is more advanced than any other on the planet.