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

  1. mig@oli:~$ /home/CVS/tcl_SF_clean/unix/tclsh /tmp/show.tcl
  2. 112469 microseconds per iteration
  3. 25376 microseconds per iteration
  4. mig@oli:~$ cat /tmp/show.tcl
  5. proc cheatloop {var from to body} {
  6. set var [list $var]
  7. set nbody "for {set $var [list $from]} {\$$var < [list $to]} \
  8. {incr $var} [list $body]"
  9. uplevel 1 $nbody
  10. }
  11.  
  12. proc slow {} {
  13. cheatloop i 0 100000 {set x $i}
  14. }
  15.  
  16. proc fast {} {
  17. set i {}
  18. set x {}
  19. cheatloop i 0 100000 {set x $i}
  20. }
  21.  
  22. puts [time slow]
  23. puts [time fast]
  24. mig@oli:~$