Um ambiente de alto desempenho para aplicações científicas escritas em Java. - Artigas, Pedro Vaz (2000)
Do ponto de vista de engenharia de software, a linguagem de programação Java é uma plataforma atraente para a codificação de aplicações numéricas e científicas. A maior desvantagem da linguagem, que impede a sua adoção neste domínio de aplicaçõesde maneira mais abrangente, é o desempenho insatisfatório das aplicações codificadas em Java. Neste trabalho apresentamos uma biblioteca de classes que implementa arrays, segue o modelo de Java padrão e fornece um desempenho próximo ao deFORTRAN para aplicações numéricas e científicas. De forma a atingir este nível de performance se faz necessária a utilização de um compilador adequado, utilizamos um compilador, construído para este trabalho, que implementa transformações deprograma avançadas, também aqui descritas. Discutimos em detalhe a implementação de: (i) uma package de Java eficiente que implementa arrays verdadeiramente multidimensionais, e (ii) otimizações, implementadas em um compilador, que criam regiõesde código seguras, livres de verificações de exceções, que podem ser otimizadas de maneira agressiva. Estas técnicas, quando aplicadas em conjunto, tornam Java uma linguagem eficiente para a codificação de aplicações numéricas e científicas. Emum conjunto de oito programas benckmark foi obtido um desempenho entre 50% e 90% do desempenho obtido utilizando as mesmas aplicações compiladas com um compilador otimizador avançado para a linguagem FORTRAN. Isto representa uma melhora de ordem de grandeza elevada se compararmos com o que pode ser obtido com o segundo melhor ambiente Java disponível para a plataforma utilizada.