Linked by Thom Holwerda on Mon 8th Sep 2008 20:55 UTC, submitted by Punktyras
Google With all the recent hype surrounding Google's Chrome, it's refreshing to see someone taking a few steps back and looking at the bigger picture. Superlatives were abound about Chrome (I personally really like it), but some people really took it overboard - take TechCrunch for instance: "Chrome is nothing less than a full on desktop operating system that will compete head on with Windows." Seeing my nationality, I know a tulip mania when I see one. So does Ted Dziuba.
Thread beginning with comment 329685
To read all comments associated with this story, please click here.
Beware the false comparisons
by Mediv on Tue 9th Sep 2008 05:25 UTC
Mediv
Member since:
2006-05-10

All it takes for him to explain that no, a web browser is not an operating system,

The analogy with the idea that Java makes life simpler, but with a slight overhead that we do not mind because of our multi-gigahertz processor, is false.

There are some optimizations that cannot be done at compile time with a C program, but that a Java Virtual Machine can detect and perform at run time. So it is not because there is another layer that automatically it will be slower. Sometimes it can be faster.

If the majority of Java coders does not care about unuseful object creations, about releasing some object references or forgets that the garbage collector is not magic, they should first learn to code in C.

Actually, only C programmers should be allowed to code in Java.

Reply Score: 2

evangs Member since:
2005-07-07


There are some optimizations that cannot be done at compile time with a C program, but that a Java Virtual Machine can detect and perform at run time.


I advise you to have a look at profile guided optimizations (PGO) which are supported by GCC, Intel, MSVC compilers.

With PGO, you build a binary with profiling enabled and you run it through a typical use case scenario. The profiling data that is generated will then be used when you compile the app for the 2nd time, allowing the compiler to determine which code paths are more frequently used (i.e. Hotspots) and more aggressive optimizations can be performed (e.g. function devirtualization, deeper inlining, etc).

The end result is, you get the benefit of optimizations that could only be done at runtime. The major difference between PGO of statically compiled languages and VM run languages, is that the profiling is done during development and not when your poor enduser is running the application. It's easy to see which one is the superior approach.

Reply Parent Score: 4