cpulimit 5000 pload QAcommands set info [QANTestNCollectionPerformance] set values {} set keys {} unset -nocomplain std_cl occt_cl diff_cl foreach line [split $info "\n"] { if { [regexp {(std::.*)} $line] } { lappend keys $line if {[info exists std_cl] && [info exists occt_cl] && [info exists diff_cl]} { lappend values "$diff_cl" } } regexp {\s*[-0-9*.+eE]+\s+([-0-9*.+eE]+)\s+([-0-9*.+eE]+)\s+([-0-9*.+eE]+)} $line dump std_cl occt_cl diff_cl } lappend values "$diff_cl" if { [checkplatform -windows] } { set check_values { 1.383409071179103 5.1472531605899908 5.55719377028335395 5.5309830187022213 1.58734859347377246 1.18885181806915312 1.4285334583511072 0.20619280354776386 0.21983563611646603 } if { [regexp {64} [dversion]] } { set check_values { 1.5 5.2 5.7 5.7 1.7 1.3 1.6 0.4 0.4 } } } else { set check_values { 1.2363286058767904 2.7537414143534 1.5596260162601621 3.937043746844462 1.2133020329576465 1.2164522569168656 1.2495457282327385 0.10352433841051313 0.45175659293697572 } } set index 0 foreach key $keys { set value [lindex $values $index] if { $value > [lindex $check_values $index] } { puts "Error: performance of $key become worse" } else { puts "OK: performance of $key is OK" } incr index }