@@ -46,48 +46,62 @@ proc _test_get_commands {lst} {
4646proc _test_out_total {} {
4747 upvar _ _
4848
49- if {![llength $_(ittm) ]} {
49+ set tcnt [llength $_(itm) ]
50+ if {!$tcnt } {
5051 puts " "
5152 return
5253 }
5354
5455 set mintm 0x7fffffff
5556 set maxtm 0
57+ set nett 0
58+ set wtm 0
59+ set wcnt 0
5660 set i 0
57- foreach tm $_(ittm) {
61+ foreach tm $_(itm) {
62+ if {[llength $tm ] > 6} {
63+ set nett [expr {$nett + [lindex $tm 6]}]
64+ }
65+ set wtm [expr {$wtm + [lindex $tm 0]}]
66+ set wcnt [expr {$wcnt + [lindex $tm 2]}]
67+ set tm [lindex $tm 0]
5868 if {$tm > $maxtm } {set maxtm $tm ; set maxi $i }
5969 if {$tm < $mintm } {set mintm $tm ; set mini $i }
6070 incr i
6171 }
6272
6373 puts [string repeat ** 40]
64- puts [format " Total %d cases in %.2f sec.:" [llength $_(itcnt) ] [expr {[llength $_(itcnt) ] * $_(reptime) / 1000.0}]]
65- lset _(m) 0 [format %.6f [expr [join $_(ittm) +]]]
66- lset _(m) 2 [expr [join $_(itcnt) +]]
67- lset _(m) 4 [format %.3f [expr {[lindex $_(m) 2] / ([llength $_(itcnt) ] * $_(reptime) / 1000.0)}]]
74+ set s [format " %d cases in %.2f sec." $tcnt [expr {$tcnt * $_(reptime) / 1000.0}]]
75+ if {$nett > 0} {
76+ append s [format " (%.2f nett-sec.)" [expr {$nett / 1000.0}]]
77+ }
78+ puts " Total $s :"
79+ lset _(m) 0 [format %.6f $wtm ]
80+ lset _(m) 2 $wcnt
81+ lset _(m) 4 [format %.3f [expr {$wcnt / (($nett ? $nett : ($tcnt * $_(reptime) )) / 1000.0)}]]
82+ if {[llength $_(m) ] > 6} {
83+ lset _(m) 6 [format %.3f $nett ]
84+ }
6885 puts $_(m)
6986 puts " Average:"
70- lset _(m) 0 [format %.6f [expr {[lindex $_(m) 0] / [llength $_(itcnt) ]}]]
71- lset _(m) 2 [expr {[lindex $_(m) 2] / [llength $_(itcnt) ]}]
72- lset _(m) 4 [expr {[lindex $_(m) 2] * (1000 / $_(reptime) )}]
87+ lset _(m) 0 [format %.6f [expr {[lindex $_(m) 0] / $tcnt }]]
88+ lset _(m) 2 [expr {[lindex $_(m) 2] / $tcnt }]
89+ if {[llength $_(m) ] > 6} {
90+ lset _(m) 6 [format %.3f [expr {[lindex $_(m) 6] / $tcnt }]]
91+ lset _(m) 4 [format %.0f [expr {[lindex $_(m) 2] / [lindex $_(m) 6] * 1000}]]
92+ }
7393 puts $_(m)
7494 puts " Min:"
75- lset _(m) 0 [lindex $_(ittm) $mini ]
76- lset _(m) 2 [lindex $_(itcnt) $mini ]
77- lset _(m) 2 [lindex $_(itrate) $mini ]
78- puts $_(m)
95+ puts [lindex $_(itm) $mini ]
7996 puts " Max:"
80- lset _(m) 0 [lindex $_(ittm) $maxi ]
81- lset _(m) 2 [lindex $_(itcnt) $maxi ]
82- lset _(m) 2 [lindex $_(itrate) $maxi ]
83- puts $_(m)
97+ puts [lindex $_(itm) $maxi ]
8498 puts [string repeat ** 40]
8599 puts " "
86100}
87101
88102proc _test_run {reptime lst {outcmd {puts $_(r) }}} {
89103 upvar _ _
90- array set _ [list ittm {} itcnt {} itrate {} reptime $reptime ]
104+ array set _ [list itm {} reptime $reptime ]
91105
92106 foreach _(c) [_test_get_commands $lst ] {
93107 puts " % [ regsub -all {\n[ \t]*} $_(c) {; }] "
@@ -99,9 +113,7 @@ proc _test_run {reptime lst {outcmd {puts $_(r)}}} {
99113 set _(r) [if 1 $_(c) ]
100114 if {$outcmd ne {}} $outcmd
101115 puts [set _(m) [timerate $_(c) $reptime ]]
102- lappend _(ittm) [lindex $_(m) 0]
103- lappend _(itcnt) [lindex $_(m) 2]
104- lappend _(itrate) [lindex $_(m) 4]
116+ lappend _(itm) $_(m)
105117 puts " "
106118 }
107119 _test_out_total
0 commit comments