Menu

[r3]: / lib / CompPerf.CVS / ot_expr.perf  Maximize  Restore  History

Download this file

158 lines (124 with data), 3.4 kB

#§
#§  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

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.