summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsebres <sebres@users.sourceforge.net>2024-06-12 00:53:59 (GMT)
committersebres <sebres@users.sourceforge.net>2024-06-12 00:53:59 (GMT)
commit9b6e7e0f647936765ad7fe0cb0ecc9695e784ebe (patch)
tree7ea421277be44e4913203e6e172b6ba6ce172bcf
parent76a9c2a69cd23e0ca65a58cded9a258dad2a1faa (diff)
downloadtcl-9b6e7e0f647936765ad7fe0cb0ecc9695e784ebe.zip
tcl-9b6e7e0f647936765ad7fe0cb0ecc9695e784ebe.tar.gz
tcl-9b6e7e0f647936765ad7fe0cb0ecc9695e784ebe.tar.bz2
list.perf.tcl: added performance regression tests for lseq (illustrates fix for [f05f5ef759c1f7f9], as well as difference of non-compiled vs. compiled expr)
-rw-r--r--tests-perf/list.perf.tcl36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests-perf/list.perf.tcl b/tests-perf/list.perf.tcl
index 564fad0..6ebb617 100644
--- a/tests-perf/list.perf.tcl
+++ b/tests-perf/list.perf.tcl
@@ -95,12 +95,48 @@ proc test-lsearch-nf-non-opti-slow {{reptime 1000}} {
}
}
+proc test-lseq {{reptime 1000}} {
+ _test_run $reptime {
+ setup { set i 0 }
+ { lseq 10 }
+ { lseq 0 count 10 }
+ { lseq 0 count 10 by 1 }
+ { lseq 0 9 }
+ { lseq 0 to 9 }
+ { lseq 0 9 1 }
+ { lseq 0 to 9 by 1 }
+ }
+}
+
+proc test-lseq-expr {{reptime 1000}} {
+ _test_run $reptime {
+ setup { set i 0 }
+ { lseq [expr {$i+10}] }
+ { lseq {$i+10} }
+ { lseq [expr {$i+0}] count [expr {$i+10}] }
+ { lseq {$i+0} count {$i+10} }
+ { lseq [expr {$i+0}] count [expr {$i+10}] by [expr {$i+1}] }
+ { lseq {$i+0} count {$i+10} by {$i+1} }
+ { lseq [expr {$i+0}] [expr {$i+9}] }
+ { lseq {$i+0} {$i+9} }
+ { lseq [expr {$i+0}] to [expr {$i+9}] }
+ { lseq {$i+0} to {$i+9} }
+ { lseq [expr {$i+0}] [expr {$i+9}] [expr {$i+1}] }
+ { lseq {$i+0} {$i+9} {$i+1} }
+ { lseq [expr {$i+0}] to [expr {$i+9}] by [expr {$i+1}] }
+ { lseq {$i+0} to {$i+9} by {$i+1} }
+ }
+}
+
proc test {{reptime 1000}} {
test-lsearch-regress $reptime
test-lsearch-nf-regress $reptime
test-lsearch-nf-non-opti-fast $reptime
test-lsearch-nf-non-opti-slow $reptime
+ test-lseq [expr {$reptime/2}]
+ test-lseq-expr [expr {$reptime/2}]
+
puts \n**OK**
}