|
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.

Computer History Up For Auction 06/05/2013
An online action to be held later this month has a veritable treasure trove of computing history. The 20th century is well represented with an Apple 1, an Apple Lisa, an Altair, and more, but for me t [ ... ]
|
Android Gets New Geo APIs 20/05/2013
One of the smaller items of news from Google IO is that there are now three new Android Geo APIs that will make it easier to build location and activity information into apps.
| | More News |
|