bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#15294: 24.3.50; js2-mode parser is several times slower in lexical-b


From: Drew Adams
Subject: bug#15294: 24.3.50; js2-mode parser is several times slower in lexical-binding mode
Date: Thu, 12 Sep 2013 20:59:52 -0700 (PDT)

> It seems the slowdown is indeed linked to the way `catch' is handled
> (indeed, this non-idiomatic ELisp code ends up byte-compiled in a really
> poor way). The trivial patch below brings the time down from 5s to 2.6s
> (as compared to 2.1s for the dynamic-binding version).
>
> -  (let (c c1 identifier-start is-unicode-escape-start
> -        contains-escape escape-val str result base
> -        is-integer quote-char val look-for-slash continue)
> -    (catch 'return
> +  (catch 'return
> +    (let (c c1 identifier-start is-unicode-escape-start
> +            contains-escape escape-val str result base
> +            is-integer quote-char val look-for-slash continue)

Not really following this thread, but this caught my eye.  Is this
something that should be mentioned as a guideline in the manual?

Or is the byte compiler likely to be improved in this regard, so users
need not be aware of it and take measures manually?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]