Posted to tcl by mjanssen at Mon Oct 22 19:23:53 GMT 2007view pretty
# static non-threaded build: ./configure --disable-shared --disable-threads --disable-symbols CFLAGS="-march=i686" mjanssen@juno:~/test$ tclsh8.5 test.tcl test.dat > /dev/null 15882535 16545939 15709562 15764823 16055450 16917391 15800930 16009375 16300071 16056347 mean: 16104242.3 sdev: 383037.6532669109 # shared, threaded build: ./configure mjanssen@juno:~/test$ tclsh8.5 test.tcl test.dat > /dev/null 50255500 48259472 46758870 44438737 45814076 45172940 44581582 46459528 44839097 44579642 mean: 46115944.4 sdev: 1897374.5886940137 # script fconfigure stdout -buffering full proc my_grep {re file} { set f [open $file r] fconfigure $f -encoding ascii -translation lf while {[gets $f buf] >= 0} { if {[regexp -- $re $buf]} {puts $buf} } close $f } set re {^$} fconfigure stdout -encoding binary -translation binary foreach file $argv { foreach i {0 1 2 3 4 5 6 7 8 9} { lappend res [lindex [time {my_grep $re $file} 1] 0] puts stderr [lindex $res end] } } puts stderr "mean: [::math::statistics::mean $res]" puts stderr "sdev: [::math::statistics::stdev $res]"