V8 x Tracemonkey

04/09/2008

Ok, depois de compilar o v8, eu pensei: e agora? Após ler sobre o tracemonkey, minha idéia caiu no seguinte: eu compilo o tracemonkey e faço testes com ambos.

Eu adaptei o shell script que roda o benchmark do tracemonkey para rodar o mesmo benchmark, só que usando o v8.

chrome teste 1

chrome teste 2

chrome teste3

Sobre as duas VMS:

  • O líder do desenvolvimento do V8 é Lars Bak, que foi o líder técnico do Strongtalk e do HotSpot (Java) e também um grande contribuidor da maquina virtual original do Self. Segundo o projeto, o V8 é otimizado para acesso de propriedades e tem um coletor de lixo agressivo.
  • O Tracemonkey usa código do Tamarin, a máquina virtual de JavaScript da Adobe, que doou o código para a Mozilla Foundation. A otimização e o JIT é feito usando um processo chamado Tracing Trees. Se você estiver disposto a ler um paper comprido, complicado e interessante, pode ler o Incremental Dynamic Code Generation With Trace Trees.

No geral, o tempo total dos testes foi menor para o tracemonkey, embora comparando os quadros, não teve uma máquina virtual que tenha vencido em todos os testes.

Os testes foram feitos usando a revisão 110 do v8 (disponível em http://v8.googlecode.com/svn/trunk) e a revisão db4260e7ee13 do tracemonkey (disponível em http://hg.mozilla.org/tracemonkey/), e foi usado o próprio benchmark do tracemonkey para testar as duas VMs.

Agora a pouco, eu refiz os testes com as últimas versões das máquinas virtuais, e os resultados se alteraram um pouco:

chrome_v8_0last

chrome_v8_1last

chrome_v8_2last

Diferente do teste do Brendan Eich, foi testado apenas VM e não o desempenho dela dentro do navegador, mas no geral, os resultados do meu teste aqui condizem com o dele.

Mais sobre o v8 e assuntos relacionados


Email por Walter Cruz em Google, JavaScript, Ruby
Tags: chrome, ruby, smalltalk, strongtalk, tracemonkey, v8

Squeak no Debian: num apt perto de você!

05/05/2008

O Squeak é uma implementação do smalltalk, uma das mais famosas. Desde março desse ano, a máquina virtual foi adicionada ao Debian. A questão com o squeak era uma licença, que não era compatível com o DFSG. Agora está tudo resolvido.

Vale lembrar que o pacote está disponível para usuários do unstable por enquanto, e que foi apenas a máquina virtual. Você ainda vai ter de correr atrás de imagens por aí, mas existem boas imagens aqui: http://damien.cassou.free.fr/squeak-dev.html


Email por Walter Cruz em Linguagens, Debian
Tags: debian, smalltalk, squeak