diff options
Diffstat (limited to 'tools/microoptimization')
-rw-r--r-- | tools/microoptimization/clockformatscan.tcl | 5 | ||||
-rw-r--r-- | tools/microoptimization/generalbytecode.tcl | 13 | ||||
-rw-r--r-- | tools/microoptimization/oocreate.tcl | 13 | ||||
-rw-r--r-- | tools/microoptimization/oodispatch.tcl | 11 |
4 files changed, 42 insertions, 0 deletions
diff --git a/tools/microoptimization/clockformatscan.tcl b/tools/microoptimization/clockformatscan.tcl new file mode 100644 index 0000000..c7cec46 --- /dev/null +++ b/tools/microoptimization/clockformatscan.tcl @@ -0,0 +1,5 @@ +apply {{{limit 5000}} { + for {set i 0} {$i < $limit} {incr i} { + clock scan [clock format $i -format %T] -format %T + } +}} {*}$argv diff --git a/tools/microoptimization/generalbytecode.tcl b/tools/microoptimization/generalbytecode.tcl new file mode 100644 index 0000000..2471943 --- /dev/null +++ b/tools/microoptimization/generalbytecode.tcl @@ -0,0 +1,13 @@ +apply {{{limit1 100} {limit2 1000}} { + for {set i 0} {$i < $limit1} {incr i} { + apply {limit2 { + set a {} + set b {} + for {set i 0} {$i < $limit2} {incr i} { + lappend a $i + dict set b $i [expr {$i*$i}] + } + return [string length $a],[string length $b] + }} $limit2 + } +}} {*}$argv diff --git a/tools/microoptimization/oocreate.tcl b/tools/microoptimization/oocreate.tcl new file mode 100644 index 0000000..0a5d3dc --- /dev/null +++ b/tools/microoptimization/oocreate.tcl @@ -0,0 +1,13 @@ +oo::class create foo { + method bar {} { + return abc + } +} +apply {{{iter 10000}} { + for {set i 0} {$i < $iter} {incr i} { + set obj1 [foo new] + set obj2 [foo create inst] + $obj1 destroy + $obj2 destroy + } +}} {*}$argv diff --git a/tools/microoptimization/oodispatch.tcl b/tools/microoptimization/oodispatch.tcl new file mode 100644 index 0000000..041c8e3 --- /dev/null +++ b/tools/microoptimization/oodispatch.tcl @@ -0,0 +1,11 @@ +oo::class create foo { + method bar {} { + return abc + } +} +foo create inst +apply {{{iter 100000}} { + for {set i 0} {$i < $iter} {incr i} { + inst bar + } +}} {*}$argv |