James Gosling blogs about Java software performance myths James Gosling blogs sobre software Java desempenho mitos and posts an interesting story (below). uma história interessante e de lugares (abaixo). The comments contains few more stories from the trenches as they say. As observações contém mais algumas histórias a partir de trincheiras como se costuma dizer. Lets look at the real picture shall we? Vamos olhar para a imagem real deve nós?

There was a funny incident at a recent developer event where some folks had a booth where they where demo-ing a high end industrial strength C compiler and had a benchmark that they had transliterated into Java. Houve um incidente em uma recente engraçado desenvolvedor evento onde algumas pessoas tivessem uma cabine onde eles onde demo-ing um elevado efeito industrial força compilador C e tinha um ponto de referência que tinham transliterados em Java. They were comparing their compiler to GCC and Java. Eles foram para comparar seu compilador GCC e Java. GCC was running at about 2/3 the performance of this high end compiler; the Java version was running at about 2/3 the performance of the GCC version. GCC estava em funcionamento em cerca de 2 / 3 do desempenho deste compilador elevado efeito, a versão Java estava em funcionamento em cerca de 2 / 3 do desempenho do GCC versão. Folks were gathered around the booth and someone noticed that the script they were using to run the Java version didn’t have optimisation turned on. Folks foram reunidos ao redor da cabine e alguém reparou que o script que estavam usando a correr a versão Java não teve optimização ligado. A few seconds with vi to add the “-server” switch and Java’s performance jumped up to match the fancy C compiler. A poucos segundos com vi para adicionar o "servidor de" mudar de Java e do desempenho saltou-se para corresponder à fantasia C Compiler. This got the pro-GCC crowd all excited, so a bunch of them started fiddling with its command line switches. Isso começou o pro-GCC multidão todos animado, de forma um monte deles começou fiddling com a sua linha de comando interruptores. They got a bit of improvement, but not much (the original selection had been pretty good). Eles tiveram um pouco de melhoria, mas não muito (a seleção original tinha sido muito bom).

Author: James Gosling from Sun Autor: James Gosling da Sun.

In 2001 when I was working at AltaVista I started a push to move us to using Java at the front end. Em 2001, quando eu estava trabalhando em um empurrão AltaVista eu comecei a mover-nos ao uso do Java no front end. At the time an executive had stated that Java was 40 times slower than C, and that it was easy to proove. Na altura em que um executivo tinha declarado que o Java foi 40 vezes mais lento do que C, e que era fácil de proove. So he sent me 4 programs he had written 4 years previously (when Java really was slow). Por isso, ele me enviou 4 programas que ele tinha escrito 4 anos (quando Java era realmente lento). I had a look at them, optimised the IO a little (there was no buffering) and the result was that the java programs were only at most 10% slower than the C program (one of them was actually faster) But of course the Java program did a lot more: for one it was completely unicode enabled, whereas the c program was not. Eu tinha um olhar para eles, um pouco de optimização da IO (não houve buffering), eo resultado foi que os programas eram apenas java, no máximo, 10% mais lento que o programa C (um deles foi realmente rápido) Mas, evidentemente, o Java programa fez muito mais: em vez de um que foi completamente unicode activo, enquanto que o programa não foi c. And that was before NIO. E isso foi antes NIO.

Soon after this AltaVista moved to rewriting all of its front end in java. Pouco depois deste AltaVista mudou-se para reescrever todo o seu front-end em java. I left to do other things, but was told that it was a great success. Saí para fazer outras coisas, mas foi-nos dito que ele era um grande sucesso. (Now if only they had listened to me 5 years previously when I told the CEO that they were not making the best of the resource hidden inside hyperlinks…) (Agora, só se eles tinham ouvido a mim 5 anos antes, quando eu disse o CEO que não estavam fazendo o melhor do recurso escondida no interior hiperlinks…)

Author: Henry Story from BblFish Autor: Henry Story de BblFish

In yet another situation I was in, the company was prototyping in C++ because of concerns with performance. Em outra situação eu ainda estava em, a empresa foi prototipagem em C + + devido a preocupações com o desempenho. They were worried about performance in an application that was never going to see production and in the meantime spend a lot more time producing it. Eles estavam preocupados com o desempenho em um aplicativo que nunca foi ir ver produção e, entretanto, gastar muito mais tempo a produzir. When questioned further one could find no basis for their concerns. Quando questionado ainda não conseguimos encontrar uma base para as suas preocupações. They could not find one spot in the architecture where performance was so critical that it required the use of C++. Eles não poderiam encontrar um local em arquitetura, onde o desempenho foi tão crítica que lhe exigido o uso do C + +. Even in the face of this evidence and analysis the myth was so strong for them that they were unable to see the reality of the situation. Mesmo em face de provas e de análise a este mito era tão forte para eles que eles foram incapazes de ver a realidade da situação.

Author: Kirk from Java Performance Tuning Autor: Kirk de Java Performance Tuning

Personally I have found in bioinformatics world (high throughput distributed processing like genomic annotations) Java software performance competes favorably with C. Will the rumor mongers now finally put a stop to this “java performance issues” BS? Pessoalmente tenho encontrado em bioinformática mundo (high throughput processamento distribuído como genômica anotações) software Java desempenho concorre favoravelmente com o rumor mongers C. Será que agora finalmente pôr fim a esta "java desempenho questões" BS?