> Java code is optimized as it is used. This means that optimizations are > based on actual usage rather than assumed usage. Some advantage is > gained from that. Whether it results in better overall performance > depends on the application and usage.
For JIT compilers there is always a tradeoff in the time it takes to compile and the quality of the code. It has been proven formally that static compilers will always be superior if you know what architecture they run on exactly, which is a big assumption. Although, JIT compilers provide a HUGE performance increase over interpreters. The only thing JIT compilers can on average do better than static compilers in very specific cases is branch prediction. On the other hand even though garbage collection can be done better by human logic as well to date, much like good chess programs this is a thing that the Java garbage collector does better than most programmers. Having said all that these aren't the reasons Java is a better language than C or C++ for applications because things like pointer arithmetic still increase/decrease the speed much more dramatically than this sort of optimisation. What Java really does better is how it handles concurrency and IO. In the first case, under the hood this relates to how vtables are cloned, synchronized and all sorts of other transformations handled on modern architectures. This stuff hasn't much to do with VoIP, I just wanted to make the point that what a program is written in isn't important, its the logic of the program that makes the difference. For example, in the Python world, both the Python compilers written in Python (PyPy) and .NET are more performant than the Python interpreter written in C when the program scales. But the JIT compiler written in Java is always slower than all of them, in all cases. This isn't because Python and .NET are better than C than Java. It's because they were better written programs. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
