Hey Nick,

this was never completely resolved.  The edited jQuery source I was playing
around with is here:
http://www.outsidethediv.com/memory-leak-test/js/jquery-1.2.6-updated.js

You can try swapping your jquery include with it and see if that helps at
all.  It seemed to help out a good deal in my case but was rather
inconclusive in smaller stripped down tests.




On Tue, Nov 25, 2008 at 9:30 AM, Nick <[EMAIL PROTECTED]> wrote:

>
> I am having a very similar problem.  Can someone give more details as
> how to modify the JQ source file to fix this?
>
> I have noticed (in Drip) that when I refresh the page, the DOM nodes
> duplicate.  This doesn't make any sense to me since I know JQ unbinds
> everything on page unload in IE.  This node duplication is leading to
> some serious memory issues in my app that needs to run for up to 8
> hours straight without a browser restart.
>
> Any help would be much appreciated.
>
> Thanks,
> Nick
>
>
> On Oct 24, 12:50 pm, chris robinson <[EMAIL PROTECTED]> wrote:
> > Hey all,
> >
> > I believe I have found a leak and have the beginnings of a solution to
> > it.
> >
> > I'm writing an app that preforms ajax searching that returns pretty
> > large result sets.  I render them via jQuery into a tbody.  once a
> > subsequent search is performed I call tbody.empty() and append the new
> > results.  I created a test harness that would perform a predefined
> > search 5000 times in a row with a good amount of time in between.
> >
> > I noticed that IE was allocating quite a bit of memory and never
> > reclaiming it.  At first I thought it was a closure or circular
> > reference on my part.  Once I was sure I had removed them I ran more
> > test, sure enough it was still allocating a lot of memory.  Through a
> > lot of research I found this articlehttp://
> www.scribd.com/doc/2159768/Ajax-Part2
> > which says that JS's removeChild will leak in IE.  Microsoft uses
> > another method to remove which is essentially this:
> >
> > function DestroyElement(elem) {
> >       var garbageBin =
> > document.getElementById('IEMemoryLeakGarbageBin');
> >       if(garbageBin === undefined) {
> >              garbageBin = document.createElement("DIV");
> >              garbageBin.id = "IEMemoryLeakGarbageBin";
> >              garbageBin.style.display = 'none';
> >              document.body.appendChild(garbageBin);
> >       }
> >       garbageBin.appendChild(elem);
> >       garbageBin.innerHTML = "";
> >
> > }
> >
> > I went through jQuery 1.2.6 and replaced the removeChild references
> > with a check for IE, and if so use this, else use the regular
> > removeChild.  After doing so and rerunning my test I saw drastic
> > improvements in memory being reallocated after my elements were
> > removed from the document.
> >
> > I also ran these test on FF, with or without this change it ran the
> > same way, recollecting memory correctly.
> >
> > this is only seems to be a drastic performance increase if you are
> > creating 1000+ dom elements and binding events to them, but, the app I
> > am writing has to be able to run all day with out leaving or
> > refreshing the page.
> >
> > I just thought the Dev team might be interested in my findings.  I
> > plan on striping this down and writing conclusive tests and
> > documentation over the weekend.
> >
> > -Chris
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to