BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース GoogleがLeak Finderをオープンソース化

GoogleがLeak Finderをオープンソース化

ブックマーク

原文(投稿日:2012/08/09)へのリンク

 

GoogleはJavaScriptアプリケーションのヒープを調べてメモリリークを検出するLeak Finderをオープンソースにした。

JavaScriptはガベージコレクションを利用するのでC++のような言語で発生する普通のメモリリークは発生しない。しかし、使っていないオブジェクトがメモリを確保している場合、アプリケーションはメモリリークを抱えていると考えられる。このリークによって性能が低下したりアプリケーションが動かなくなる場合がある。

JavaScriptでメモリリークが発生する可能性があるのは循環参照だ。特にクロージャが使われた場合だ。Leak Finderはクロージャがリークを発生させたのを検知し、開発者に警告を発生して問題のコードを示す。Leak Finderはヒープ上でGoogle Closureのgoog.Disposableオブジェクトを探し、dispose()メソッドが呼ばれたどうかを検査し、イベントリスナが解放されているかどうかを確かめる。goog.DisposableオブジェクトはDOMオブジェクトへの参照を保持している場合、メモリが解放されていないことになる。

現在、Leak FinderはClosuresを使う。しかし、他のライブラリを使うように構成することもできる。Closuresはオープンソースライブラリでウィジェットやイベントフレームワーク、DOMを操作するためのツールや単体テストフレームワーク、アニメーションツールなどを含む。GMail、GDoc、GMapなどのGoogleのサービスで幅広く使われている。

また、Chrome 21以上のバージョンではリモートデバッキングと開発ツールを使ってコードの分析ができるはずだ。

Googleは過去にも多くのJavaSciptのツールをオープンソースにしてきた。コンパクトで高性能のコードを生成するClosure Compiler、動的にHTMLを生成するClosure Templates、JavaScriptのスタイルチェッカーであるClosure Linter、CSSの拡張であるClosure Stylesheetsなどだ。JavaScriptアプリケーションを作るためのツールキットであるGWTは6月にリリース候補版になったが、GoogleはGWTの開発者にDartへの移行させているので将来の計画はわからない。この移行は“エンドユーザにより良いウェブアプリを提供するというGWTのミッションの野心的な進化であり、私たちはこの移行について楽天的です”

 

この記事に星をつける

おすすめ度
スタイル

BT