16 Jan 2010 jarod   » (Journeyer)

Melhorias no Javascript do Firefox 3.6

David Mandelin, atualmente um dos principais desenvolvedores do motor de JavaScript do Firefox (o tracemonkey) postou no blog hacks. mozilla.org alguns detalhes de como o JavaScript será mais rápido no Firefox 3.6. Não haverá nada quente como um JIT, como houve no Firefox 3.5, mas ele traz uma porção de pequenos detalhes que o pessoal da Mozilla acredita que fará a diferença. Entre eles:

JIT habilitado na 'GUI' do Firefox

A própria interface do Firefox tem bastante parte feita em JavaScript, porém esse código não estava usando o JIT do tracemonkey - como essa porção do código era relativamente nova, o pessoal da Mozilla decidiu deixar habilitado o JIT apenas para páginas, e não para a interface do Firefox. Na versão 3.6, o JIT estará habilitado para ambos, a renderização de páginas e a renderização do próprio Firefox

Melhorias no Coletor de Lixo

O coletor de lixo no Firefox 3.5 poderia interferir no processamento de animações em JavaScript.  Uma das formas de lidar com o problema é que agora a liberação de memória é feita em outra thread - segundo o post, os efeitos serão ainda mais notáveis em máquinas com mais de um processador. Outra parte importante é que agora o GC e o JIT conversam entre si. No Firefox 3.5, o coletor de lixo poderia limpar da memória algum objeto que tivesse sido usado no JIT, e depois o tracemonkey teria de fazer o trace desse código de novo. No Firefox 3.6, se um objeto está sendo usado em algum trace, ele não será recolhido pelo coletor de lixo.

Fazendo o trace de mais objetos JavaScript

Agora mais parte do código é analizada pelo tracemonkey para gerar os traces do JIT:

  • Propriedades DOM (no Firefox 3.4 apenas métodos DOM são analizados)
  • Closures
  • o arguments
  • switch

Isso tudo deve ser muito útil para quem escreve código JavaScript com jQuery, por exemplo.

Melhorias em Strings e Expressões Regulares

Incluindo o aumento de velocidade em concatenações de strings

Esse é um resumo do texto em: http://hacks.mozilla.org/2010/01/javascript-speedups-in-firefox-3-6/

Syndicated 2010-01-16 21:46:00 (Updated 2010-01-16 21:46:18) from devlog

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!