Posted to tcl by apn at Tue Dec 29 03:53:27 GMT 2015view raw

  1. % proc p {} {set ::p 10000000 ; while {$::p} {incr ::p -1}}
  2. % p
  3. % time p
  4. 8134754 microseconds per iteration
  5. % proc q {} {upvar #0 q q; set q 10000000; while {$q} {incr q -1}}
  6. % time q
  7. 743594 microseconds per iteration
  8. % proc p {} {set x $::p; set x $::p}
  9. % proc q {} {upvar #0 p p; set x $p; set x $p}
  10. % time p 1000000
  11. 2.033771 microseconds per iteration
  12. % time q 1000000
  13. 1.622337 microseconds per iteration