Posted to tcl by dgp at Tue Apr 14 01:08:49 GMT 2015view raw

  1.  
  2. # demo.tcl
  3. # Call as: tclsh demo.tcl $length $copies $iters
  4. lassign $argv length copies iters
  5. proc demo {length copies} {
  6. set original [lrepeat $length {}]
  7. while {[incr copies -1]} {
  8. set original [lmap _ $original {list {}}]
  9. }
  10. }
  11. while {[incr iters -1]} {
  12. puts [time {demo $length $copies}]
  13. }
  14.  
  15. $ tclsh demo.tcl 15000 2000 20
  16. 8446289 microseconds per iteration
  17. 8868345 microseconds per iteration
  18. 9306034 microseconds per iteration
  19. 9652503 microseconds per iteration
  20. 9806725 microseconds per iteration
  21. 10278710 microseconds per iteration
  22. 10505866 microseconds per iteration
  23. 10445097 microseconds per iteration
  24. 10459832 microseconds per iteration
  25. 10728345 microseconds per iteration
  26. 10652620 microseconds per iteration
  27. 10841165 microseconds per iteration
  28. 11051241 microseconds per iteration
  29. 10927274 microseconds per iteration
  30. 10999697 microseconds per iteration
  31. 11185095 microseconds per iteration
  32. 11098905 microseconds per iteration
  33. 11152347 microseconds per iteration
  34. 11287992 microseconds per iteration
  35.