emacs-devel
[Top][All Lists]
Advanced

[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



reply via email to

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