O Java é realmente lento?


De uma vez por todas, o Java não é lento, hoje isso é mito, é lenda. Em muitos casos é mais rápido do que C em compilação nativa. Mas como? Em C eu compilo minha aplicação nativamente, o código em teoria fica “otimizado” para a plataforma para o qual foi compilado e é executado diretamente pelo sistema operacional e Java é compilado em bytecodes para então ser interpretado e executado por uma máquina virtual (Java Virtual Machine ou somente JVM) para só então dar retorno ao usuário. Em Java eu tenho uma “camada” a mais na hora da execução e como ele pode ser mais rápido?

É simples, Java é mais inteligente!

Se você se contentou com a resposta acima pode parar de ler e ir estudar Java, mas se você quer um exemplo prático para entender mais como funciona essa “inteligência” veja o caso abaixo:

Vamos dar um exemplo prático e simples, faça um laço do tipo for iterando 10.000.000 vezes e dentro do laço não coloque nada, isso mesmo, deixe em branco, nem uma linha de comentário.

Compile em C e execute.

Cerca de 1 mês depois compile o mesmo em Java e execute.

Cerca 5 segundos depois analise os resultados.

Por que uma diferença tão brutal? Por que em C a aplicação passa 10.000.000 dentro de um laço for vazio demorando cerca de 1 mês e Java faz o mesmo em cerca de 5 segundos?

Para começo de conversa, o C é honesto e como você mandou ele passar 10.000.000 no laço for ele vai passar, mesmo que isso for de certa forma inútil para a execução da aplicação. Já o tal do Java é esperto e engana você desenvolvedor, ele analisa a aplicação e “entende” que passar 10.000.000 em um laço for que não irá agregar nada, é inútil e simplesmente não faz a instrução, essa é a inteligência de Java que o permite ser mais rápido do que linguagens compiladas nativamente.

Citei o exemplo com C, pois C é a linguagem hoje mais otimizada, mas pode ser comparado com Delphi, Pascal e qual outra quiser.

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.
ViamaisBLOG
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.