tclcompiler Code
Brought to you by:
aotto1968
#§ #§ CompPerf - ot_expr.perf #§ #§ (C) IPN - Ingenieurbuero fuer Praezisionsnumerik #§ #§ Dipl.-Ing. Andreas Otto #§ Ulmenstrasse 3 #§ D-34289 Zierenberg #§ mailto:aotto@t-online.de #§ #§ Alle Rechte vorbehalten #§ package require PerfLib ## ## ----------------------------------------------------- ## the test-procs ## proc expr-1.1 { STR } { if { $STR == {OTTO} } { return 1 } else { return 0 } } proc expr-1.2 { STR } { if {[ string equal $STR {OTTO} ]} { return 1 } else { return 0 } } proc expr-1.3 { STR } { if {[ string compare $STR {OTTO} ]} { return 1 } else { return 0 } } proc expr-2.1 { STR } { if { $STR != {OTTO} } { return 1 } else { return 0 } } proc expr-2.2 { STR } { if {![ string equal $STR {OTTO} ]} { return 1 } else { return 0 } } proc expr-3.1 {} { global AA if {[ info exists AA ]} {return 1} } proc expr-4.1 { STR } { if { $STR == {} } { return 1 } else { return 0 } } proc expr-4.2 { STR } { if {[ string length $STR ]} { return 1 } else { return 0 } } proc expr-4.3 { STR } { if { $STR != {} } { return 1 } else { return 0 } } proc expr-4.4 { STR } { if {![ string length $STR ]} { return 1 } else { return 0 } } ## ## ----------------------------------------------------- ## make the test's ## set NUM [ ::PerfLib::Num 20000 ] set TOTAL [ time { ::PerfLib::Register expr-1.1 "expr with ==" ::PerfLib::Run expr-1.1 [time {expr-1.1 OTTO} $NUM] ::PerfLib::Register expr-1.2 "expr with \"string equal\"" ::PerfLib::Run expr-1.2 [time {expr-1.2 OTTO} $NUM] ::PerfLib::Register expr-1.3 "expr with \"string compare\"" ::PerfLib::Run expr-1.3 [time {expr-1.3 OTTO} $NUM] ::PerfLib::Register expr-1.1b "expr with == (NEG)" ::PerfLib::Run expr-1.1b [time {expr-1.1 ANDREAS} $NUM] ::PerfLib::Register expr-1.2b "expr with \"string equal\" (NEG)" ::PerfLib::Run expr-1.2b [time {expr-1.2 ANDREAS} $NUM] ::PerfLib::Register expr-2.1 "expr with !=" ::PerfLib::Run expr-2.1 [time {expr-2.1 OTTO} $NUM] ::PerfLib::Register expr-2.2 "expr with not \"string equal\"" ::PerfLib::Run expr-2.2 [time {expr-2.2 OTTO} $NUM] ::PerfLib::Register expr-2.1b "expr with != (NEG)" ::PerfLib::Run expr-2.1b [time {expr-2.1 ANDREAS} $NUM] ::PerfLib::Register expr-2.2b "expr with not \"string equal\" (NEG)" ::PerfLib::Run expr-2.2b [time {expr-2.2 ANDREAS} $NUM] ::PerfLib::Register expr-3.1 "expr with \"info exists\" (NEG)" ::PerfLib::Run expr-3.1 [time {expr-3.1} $NUM] ::PerfLib::Register expr-4.1 "empty expr with ==" ::PerfLib::Run expr-4.1 [time {expr-4.1 OTTO} $NUM] ::PerfLib::Register expr-4.2 "empty expr with \"string length\"" ::PerfLib::Run expr-4.2 [time {expr-4.2 OTTO} $NUM] ::PerfLib::Register expr-4.3 "empty expr with == (NEG)" ::PerfLib::Run expr-4.3 [time {expr-4.3 OTTO} $NUM] ::PerfLib::Register expr-4.4 "empty expr with \"string length\" (NEG)" ::PerfLib::Run expr-4.4 [time {expr-4.4 OTTO} $NUM] } 1 ] ## ## ----------------------------------------------------- ## cleanup ## ::PerfLib::Exit