[whatwg] Proposal for separating script downloads and execution

* Boris Zbarsky wrote:
>On 2/10/11 3:23 PM, Bjoern Hoehrmann wrote:
>> There are multiple phases between receiving bytes on the wire and having
>> executed the code they represent. Parsing would seem unlikely to be the
>> main problem here (parsing is mainly checking for syntax errors while or
>> after removing the character encoding from the bytes received)
>
>And constructing whatever output model (AST, bytecode, whatever) your 
>parser produces.

I can grant you persisting information about the structure to some point
but generating byte code is not the job of the parser, that's what code
generators are for. It's not uncommon however to persist only minimal
information and extract structure only as needed. Perl's URI parser for
instance does that which is a sound optimization there.

>Based on my profiles of script loading and execution in Spidermonkey, 
>parsing _is_ in fact pretty expensive (very commonly much more expensive 
>than the initial execution for large scripts, since most of the script 
>is cold).

Yes, but it's a long way from there to saying that "parsing" must be a-
voided because parsing is inherently slow. As it becomes more common to
load very large libraries where you don't actually use most things, or
use them only much later, it may also be that your "parser" simply does
too much work up-front. I have no idea, I just don't think saying we
should not look at individual factors in finding a proper optimization
is the best approach.
-- 
Bj?rn H?hrmann ? mailto:bjoern at hoehrmann.de ? http://bjoern.hoehrmann.de
Am Badedeich 7 ? Telefon: +49(0)160/4415681 ? http://www.bjoernsworld.de
25899 Dageb?ll ? PGP Pub. KeyID: 0xA4357E78 ? http://www.websitedev.de/ 

Received on Thursday, 10 February 2011 14:09:22 UTC