[whatwg] Proposal for separating script downloads and execution
Kyle Simpson
getify at gmail.com
Tue Feb 8 12:56:29 PST 2011
?> Is there a specific problem with letting Web Workers handle this use
case?
> They should not interfere with the UI thread.
I think the primary reason why Web Workers is not useful is that it's not
widespread enough adoption yet to be useful to the script loader community.
http://caniuse.com/#feat=webworkers
To the best of my knowledge, it's not implemented in the mobile world at all
(concurring with that chart). A main reason why the Gmail team experimented
with the comment-trick for deferring parsing/execution of code was
specifically for the mobile use-case, where Web Workers would not be
helpful.
Also, there's no signs of Web Workers being added to IE9 (I guess we can
hope, but I doubt it), so leaving the entire IE family out of the equation
is not very useful or practical for the foreseeable future.
> Note that in the blog they mention that on an iPhone 2.2 parse time was
> 2.6
> seconds for 200k of JS, compared to 240ms to just download it in a comment
> -- the mobile network isn't the issue, it is the JS parser in mobile
> browsers.
Yes, it's important to note that it's not even the *execution* of JavaScript
code that's actually the particular issue, but rather just the parsing of it
(even if invoking of the functionality is deferred until later) that causes
the biggest slowdown, in most cases.
For the purposes of this discussion, we are combining (but safely so, I
believe) "execution" and "parsing", and saying that we want to be able to
defer the "parse/execution" phase of script loading. The reason it's
necessary to draw the distinction (and point out that parsing is the costly
bit) is to defuse the argument that the script author can simply change the
script to not execute itself until manually invoked at a later time. (that
argument hasn't been heard here yet, but it's definitely present in many
other forums where this line of discussion has occurred before)
>> Is there any reason to believe that sites set .src on scripts they don't
>> intend to have fetched?
I believe I misinterpreted this question in my previous post, so let me
readdress it. The question is, are there sites which are setting the `src`
property but NOT wanting the download to occur, which could be burdened if
the proposed behavior were more widely adopted? I haven't run across any
examples of such behavior. I can't imagine that it's very widespread,
although it's conceivable that someone may have a very small complex niche
case where the speculative download was undesirable.
HOWEVER, the spec already says that the user-agent "may" do this speculative
downloading, so if there are any sites which are relying on that NOT
happening, then they are playing a dangerous game already. If the spec never
changed to say this was a required behavior, but several more browsers just
decided to implement the suggestion as its currently stated, those sites
would be at no more practical risk than they are if we consider making it a
spec requirement rather than a suggestion.
--Kyle
More information about the whatwg
mailing list