Posted to tcl by miguel at Tue Sep 02 12:14:38 GMT 2008view pretty

mig@oli:~$ /home/CVS/tcl_SF_clean/unix/tclsh /tmp/show.tcl 
112469 microseconds per iteration
25376 microseconds per iteration
mig@oli:~$ cat /tmp/show.tcl 
proc cheatloop {var from to body} {
     set var [list $var]
     set nbody "for {set $var [list $from]} {\$$var < [list $to]} \
           {incr $var} [list $body]"
     uplevel 1 $nbody
  }

proc slow {} {
    cheatloop i 0 100000 {set x $i}
}

proc fast {} {
    set i {}
    set x {}
    cheatloop i 0 100000 {set x $i}
}

puts [time slow]
puts [time fast]    
mig@oli:~$