diff options
author | antirez <antirez> | 2005-03-09 07:19:41 +0000 |
---|---|---|
committer | antirez <antirez> | 2005-03-09 07:19:41 +0000 |
commit | 84dcf68e1127c62feaaea63ccf88f6fc50764311 (patch) | |
tree | f2c9a17363c76981e293fe06613d81f7bfeb6a11 /bench.tcl | |
parent | a0944453b0c6b1ef1f83713708cb41dd50e21925 (diff) | |
download | jimtcl-84dcf68e1127c62feaaea63ccf88f6fc50764311.zip jimtcl-84dcf68e1127c62feaaea63ccf88f6fc50764311.tar.gz jimtcl-84dcf68e1127c62feaaea63ccf88f6fc50764311.tar.bz2 |
An initial [format] command.
Diffstat (limited to 'bench.tcl')
-rw-r--r-- | bench.tcl | 23 |
1 files changed, 22 insertions, 1 deletions
@@ -125,6 +125,26 @@ proc sieve {num} { return $count } +proc sieve_dict {num} { + while {$num > 0} { + incr num -1 + set count 0 + for {set i 2} {$i <= 8192} {incr i} { + dict set flags $i 1 + } + for {set i 2} {$i <= 8192} {incr i} { + if {[dict get $flags $i] == 1} { + # remove all multiples of prime: i + for {set k [expr {$i+$i}]} {$k <= 8192} {incr k $i} { + dict set flags $k 0 + } + incr count + } + } + } + return $count +} + ### ARY ######################################################################## proc ary n { @@ -290,6 +310,7 @@ bench {mini loops} {miniloops} bench {fibonacci(25)} {fibonacci 25} bench {heapsort} {heapsort_main} bench {sieve} {sieve 10} +bench {sieve [dict]} {sieve_dict 10} bench {ary} {ary 100000} bench {repeat} {use_repeat} bench {upvar} {upvartest} @@ -309,4 +330,4 @@ if {$batchmode} { set ver Jim[info version] } puts [list $ver $benchmarks] -}
\ No newline at end of file +} |