Posted to tcl by colin at Mon Jun 25 05:12:01 GMT 2012view pretty

proc payload {c} {}

proc strindex {str} {
    while {[llength $str]} {
	set c [string index $str 0]
	set str [string range $str 1 end]
	payload $c
    }
}

proc strsplit {str} {
    foreach c [split $str ""] {
	payload $c
    }
}

set len 10
for {set i 0} {$i < 4} {incr i} {
    set str [string repeat x $len]
    set line $len
    lappend line strindex [time {strindex $str} 100]
    lappend line strsplit [time {strsplit $str} 100]
    puts $line
    set len [expr {$len * 10}]
}