tclcompiler Code
Brought to you by:
aotto1968
#§ #§ CompPerf - ot_upvar.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 upvar-1.1 {DUMMY} { upvar I I set I 2 } proc upvar-1.2 {DUMMY} { upvar #0 I I set I 2 } proc upvar-1.3 {DUMMY} { upvar \#0 I I set I 2 } proc upvar-1.4 {DUMMY} { upvar 1 I I set I 2 } proc upvar-2.2 {X} { upvar $X I I set I 2 } proc upvar-2.3 {X} { upvar $X I I set I 2 } proc upvar-2.4 {X} { upvar $X I I set I 2 } ## ## ----------------------------------------------------- ## make the test's ## set NUM [ ::PerfLib::Num 10000 ] set TOTAL [ time { ## static ::PerfLib::Register upvar-1.1 "static upvar default" ::PerfLib::Run upvar-1.1 [time {upvar-1.1 DUMMY} $NUM] ::PerfLib::Register upvar-1.2 "static upvar global" ::PerfLib::Run upvar-1.2 [time {upvar-1.2 DUMMY} $NUM] ::PerfLib::Register upvar-1.3 "static upvar \global" ::PerfLib::Run upvar-1.3 [time {upvar-1.3 DUMMY} $NUM] ::PerfLib::Register upvar-1.4 "static upvar 1" ::PerfLib::Run upvar-1.4 [time {upvar-1.4 DUMMY} $NUM] ## dynamic ::PerfLib::Register upvar-2.2 "dynamic upvar global" ::PerfLib::Run upvar-2.2 [time {upvar-2.2 #0} $NUM] ::PerfLib::Register upvar-2.3 "dynamic upvar \global" ::PerfLib::Run upvar-2.3 [time {upvar-2.3 \#0} $NUM] ::PerfLib::Register upvar-2.4 "dynamic upvar 1" ::PerfLib::Run upvar-2.4 [time {upvar-2.4 1} $NUM] } 1 ] ## ## ----------------------------------------------------- ## cleanup ## ::PerfLib::Exit