W3C home > Mailing lists > Public > whatwg@whatwg.org > February 2011

[whatwg] Proposal for separating script downloads and execution

From: Boris Zbarsky <bzbarsky@MIT.EDU>
Date: Thu, 17 Feb 2011 12:05:56 -0500
Message-ID: <4D5D5574.7070301@mit.edu>
On 2/17/11 11:39 AM, Kyle Simpson wrote:

> Memory leak in the sense that the page is holding onto more memory than
> it *potentially* needs to. But not memory leak in the sense that this
> memory stays around after the page unloads/reloads, right?

Right.

> I dunno if
> I'd call that a "memory leak" as much as I'd call it a "higher memory
> utilization", or maybe "potential memory waste".

Most users will call continuously increasing memory (which is what you'd 
get if a page creates script elements, sets src, and then doesn't insert 
them, perhaps by accident) a memory leak.

> How much memory does a 25k JavaScript file take up while sitting in this
> queue? Is it roughly 25k

It depends.  In Gecko right now it's probably about 25k, but it might be 
50k if conversion to UTF16 happens earlier, and so forth.

> or is it a lot more? Compared to the 100-300
> MB of memory that a Firefox instance takes up on my computer, what
> percentage of that would be (or would be increased) if Firefox were also
> holding onto even a large amount (~200k) of not-yet-used JavaScript code
> in memory?

My worries are cases where a page inadvertently makes you hold on to 
tens or hundreds of megabytes of js, not about the 200k case.

> Also, we have to consider whether the intended usage of this feature, by
> developers, is to unnecessarily waste bandwidth and memory and never use
> the scripts, or if it's in good-faith to eventually use them. Does that
> mean there will never be any memory waste? No. But I don't think it'll
> be the norm, at least based on the interested parties in this discussion.

I think you understimate how often scripts just have bugs in them.  I'm 
not saying someone would create a few million nodes and then not insert 
them in the DOM because they're _trying_ to do something dumb.  But that 
sort of thing scripts do all the time.

> I'd venture to guess that right now, there's a pretty small amount of
> code out there which is creating script elements en masse but not
> appending them to the DOM. Can't imagine really what that use-case would
> be

You're assuming scripts mean to do everything they do.  That's not a 
good assumption, unfortunately.

-Boris
Received on Thursday, 17 February 2011 09:05:56 UTC

This archive was generated by hypermail 2.4.0 : Wednesday, 22 January 2020 16:59:30 UTC