[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: trunk r114048: * src/eval.c (Ffuncall): Fix handling of ((lambda ..)
From: |
Stefan Monnier |
Subject: |
Re: trunk r114048: * src/eval.c (Ffuncall): Fix handling of ((lambda ..) ..) in lexically |
Date: |
Fri, 06 Sep 2013 11:11:55 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
>> This change lowers the performance of the js2-mode parser (which still
>> uses dynamic scoping, by the way) by the factor of five.
> That's very odd. I must be doing something wrong there.
Indeed, I was calling Ffunction for every function that's not an alias
instead of for every function that's not given as a symbol. I installed
a change which should hopefully fix this. Please confirm that it does.
>> Incidentally, the slowdown factor is similar to I've seen when trying to
>> measure its performance in lexical-binding mode before this revision.
>> pre-114048, lexical-binding: t -- 3.95 seconds
>> 114048+, lexical-binding: t -- 7-8 seconds
>> Should I file a dedicated bug?
Lexical-binding is a bit faster in some cases and a bit slower in
others, so a change is not unheard of, but this large of a change is
unusual (tho I can imagine ways in which that could happen).
I'd be interested in running your test to try and see where the perforce
loss comes from.
BTW, is this with js2-mode compiled or interpreted?
Stefan