Does Your JavaScript Leak? Introducing Google Leak Finder
Written by Ian Elliot   
Friday, 10 August 2012

Google has just released a memory leak finder for JavaScript. It is open source and ready to work for you.

The introduction to the Leak Finder page on Google Code says:

"In JavaScript you cannot have "memory leaks" in the traditional sense, but you can have objects which are unintentionally kept alive and which in turn keep alive other objects, e.g., large parts of DOM."

Which will ring a little hollow to anyone who remembers the way that closures would leak memory like seives in the early days. But apart from such JavaScript engine failures, the statement is correct in theory. In a garbage-collected language you can't have memory leaks because you mismanaged the memory pool.; there is no memory pool and objects are garbage-collected as soon are there are no references to them.



Click for larger image - opens in new window

Of course, you can forget to dereference objects that you are using, and this isn't really a memory leak just an inefficiency. The new tool will help you find such problems, but it comes with a cost. You have to modify your code to make use of goog.Disposable and explicity call dispose() on an object before you free up the reference. It also works with closure by default, but you can apparently use it with other libraries.

It also only works with Chrome and isn't exactly effort-free to install.

What all this says to me is that we are still poorly served in terms of JavaScript tools. Yes, it's nice to have a free open source memory leak finder, even if it does force you to use the disposable pattern. What is less acceptable is that this isn't integrated into an easy-to-use integrated debugger.

There are a lot of JavaScript programmers searching for their ideal IDE, but there are even more who don't even know that things don't have to be like this and so aren't even aware that they are missing an easy-to-use IDE.



More Information

Leak finder

Related Articles

JavaScript The Evil Parts - You Can't Maintain It.

Mozilla Gladius Game Engine Reaches V0.1

Pit - F# to JavaScript Compiler

JavaScript debugging tools move forward


raspberry pi books



or email your comment to:

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin,  or sign up for our weekly newsletter.



Open Platform For Enterprise AI Launched

A new platform aimed at building and supporting an open artificial intelligence (AI) and data community has been launched.  The Open Platform for Enterprise AI (OPEA) was announced by The Linux F [ ... ]

ZLUDA Ports CUDA Applications To AMD GPUs

ZLUDA is a translation layer that lets you run unmodified CUDA applications with near-native performance on AMD GPUs. But it is walking a fine line with regards to legality.

More News

Last Updated ( Friday, 10 August 2012 )