diff options
author | sebres <sebres@users.sourceforge.net> | 2024-06-12 00:53:59 (GMT) |
---|---|---|
committer | sebres <sebres@users.sourceforge.net> | 2024-06-12 00:53:59 (GMT) |
commit | 9b6e7e0f647936765ad7fe0cb0ecc9695e784ebe (patch) | |
tree | 7ea421277be44e4913203e6e172b6ba6ce172bcf | |
parent | 76a9c2a69cd23e0ca65a58cded9a258dad2a1faa (diff) | |
download | tcl-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.tcl | 36 |
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** } |