[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Fri, 03 Dec 2010 22:23:05 -0500
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)
Stefan Monnier <address@hidden> writes:
> The Fwhile function is not used in the byte-compiled version of the
> `while' special form. Instead, the byte-compiler turns it into a bunch
> of byte-codes like test and jump to label.
> So your "with an internal catch" version should perform 100% identically
> in this test ;-)
Ah, I see. I guess the key problem is the unacceptably large
performance difference, in byte compiled code, when we wrap `while' in
an additional `catch' (1.75s vs 1.4s without the `catch' in my test).
The `catch' byte operation does this:
v1 = POP;
TOP = internal_catch (TOP, Feval, v1);
So presumably it's the Feval that's killing us. Hmm.