BT

Google abre código do Leak Finder, para detecção de vazamentos de memória em JavaScript

por Abel Avram , traduzido por Robison Tesini em 14 Ago 2012 |

O Google abriu o código do Leak Finder, uma ferramenta para examinar a memória de aplicações em JavaScript para encontrar vazamentos de memória. Como em outras linguagens com memória gerenciada, o JavaScript não possui os vazamentos de memória típicos encontrados em outras linguagens como C++; mas quando a memória permanece alocada para objetos que não estão mais sendo utilizados, considera-se que a aplicação apresenta vazamentos, que são capazes de comprometer o desempenho e gerar falhas de execução.

Uma possível maneira de gerar um vazamento de memória em JavaScript é através de uma referência circular, especialmente quando closures são utilizados. O Leak Finder consegue detectar quando uma closure produz um vazamento, alertando o desenvolvedor para o código com problemas. A ferramenta tenta encontrar Google Closures (objetos do tipo goog.Disposable) no heap, verificando se o método dispose() foi chamado e se os listeners do evento foram liberados, pois estes últimos podem manter referências a objetos DOM.

Atualmente, o Leak Finder trabalha com a biblioteca Closures, mas pode ser configurado para integração com outras bibliotecas. Closures é uma biblioteca de código aberto feita em JavaScript que contém ferramentas de tratamento de eventos, manipulação de DOM, testes de unidade, funcionalidades de animação e outros componentes. É muito utilizada por serviços do Google como o GMail, GDocs, GMaps e outros.

Além do Leak Finder, o Google já abriu o código de várias ferramentas de JavaScript, como Closure Compiler, para geração de código compacto e com alta performance; Closure Templates, para geração dinâmica de HTML, Closure Linter, ferramenta de checagem de estilo para JavaScript e a Closure Stylesheets, uma série de extensões para CSS.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2013 C4Media Inc.
Política de privacidade
BT