Re: TclX loop slow in the default case
- From: Alexandre Ferrieux <alexandre.ferrieux@xxxxxxxxx>
- Date: Sun, 31 Aug 2008 03:18:31 -0700 (PDT)
On Aug 30, 1:00 am, miguel <mso...@xxxxxxxxxxxx> wrote:
What I seem to be missing is the point of this exercise ...
The point was merely my own education, and it worked ;-)
To summarise:
(1) It was not really obvious (to me) why uplevel..for was so slow
(2) Donal gave the explanation, namely the var lookup by name
(3) So I suggested to arrange for the uplevelled bytecode to use the
compiledLocals of its homeland
(4) And you reminded us that you had already done and committed it to
the 8.6 branch
(5) Then I timed it in 8.6 and found it still slow.
(6) You found the second non-obvious (again, to me) gotcha: code which
already has a List intrep is compiled in a "superficial" manner (ie
invokeStk, regardless of the existence of a compileProc like [for]'s).
(7) You demonstrated the fact by winning the contest with the
associated cheat
Please correct me if any of the above is inaccurate (especially my
interpretation in (6)).
Also, can you explain why the cheats are still 3.75 times behind naked
[for] (see Evil Son's post) ?
-Alex
.
- Follow-Ups:
- Re: TclX loop slow in the default case
- From: Donal K. Fellows
- Re: TclX loop slow in the default case
- References:
- TclX loop slow in the default case
- From: Evil Son
- Re: TclX loop slow in the default case
- From: Donal K. Fellows
- Re: TclX loop slow in the default case
- From: Alexandre Ferrieux
- Re: TclX loop slow in the default case
- From: Evil Son
- Re: TclX loop slow in the default case
- From: Alexandre Ferrieux
- Re: TclX loop slow in the default case
- From: Donal K. Fellows
- Re: TclX loop slow in the default case
- From: Alexandre Ferrieux
- Re: TclX loop slow in the default case
- From: miguel
- TclX loop slow in the default case
- Prev by Date: activeTcl 8.5.4 built in packages
- Next by Date: Re: TclX loop slow in the default case
- Previous by thread: Re: TclX loop slow in the default case
- Next by thread: Re: TclX loop slow in the default case
- Index(es):