A guerra entre os navegadores está cada vez mais acirrada. Se a entrada do Mozilla Firefox bastou para abalar a hegemonia do Internet Explorer, a chegada de outros grandes nomes, como Google Chrome, Opera e Safari fez com que os desenvolvedores entrassem em uma verdadeira corrida em busca de melhores desempenhos em seus browsers.
Apesar das várias melhorias que esses programas recebem a cada atualização, uma é bastante clara para o usuário e crucial na hora de decidir qual usar: a velocidade. E é claro que ninguém quer ficar para trás nessa batalha.
Um dos programadores da Mozilla, por exemplo, anunciou em seu blog o desenvolvimento de um novo motor de javascript para as próximas atualizações do Firefox. Com isso, a empresa pretende fazer com que o carregamento de páginas no navegador fique ainda mais rápido se comparado com a versão atual e até mesmo com outros browsers.
O novo macaco da raposa
Desde o Firefox 3.5, o navegador utiliza um motor de javascript nativo chamado TraceMonkey. Isso significa que, enquanto nas versões anteriores era necessário o download de um plugin para a realização da “tradução” do código Java presente na estrutura de algumas páginas, a partir daquela atualização, o próprio navegador era capaz de fazer essa decodificação.
A diferença é que a velocidade dessa “interpretação” varia de acordo com o motor utilizado pelo browser. Cada navegador possui um sistema próprio e seu funcionamento influencia bastante na velocidade de cada um.
Nas tentativas de aprimorar o TraceMonkey, os programadores da Mozilla encontraram alguns problemas durante a decodificação que simplesmente paralisavam o processo de tradução dos códigos antes que ele terminasse de fato.
A solução para o problema foi retornar à estaca zero, ou seja, para a base lançada no Firefox 3.5. Porém, ao invés de refazer todo o trabalho em busca de outro resultado, os programadores passaram a utilizar em conjunto outro motor, chamado de Nitro, que já era utilizado pelo Safari.
O resultado foi batizado de JagerMonkey e funciona da seguinte maneira: ele continua a fazer a decodificação da linguagem Java a partir do Trace, mas, ao encontrar problemas de conversão, o Jager passa a utilizar o Nitro para terminar a tradução.
O resultado, segundo afirmou o programador David Anderson em seu blog, foi bastante positivo. Ao testar o desempenho no benchmark SunSpider, o desempenho foi 30% mais rápido em sistemas operacionais 32 bits, enquanto nos 64 bits a velocidade foi de até 45% maior.
Infelizmente ainda não há previsão para uma próxima atualização do Mozilla Firefox e muito menos do lançamento do JagerMonkey como motor nativo do navegador.