Bob Techentin observes that "[i]t is faster to put initialization code into procs." Myself, I think it's often better style, too.
Dominique Pelle mentions a particular trick for canvas work. Alexandre Ferrieux urges canvas workers to look for opportunities to (re-)use image objects as opposed to pixel arrays.
Canvases under NT seem to be very slow sometimes. Removing tags occasionally helps.
There's MUCH more to say about performance with Tcl. I'm not sure when I'll make time to transcribe it. I do invite comments or specific questions; the latter often inspire a few paragraphs from me.