, , , ...
, , .
, :
for {set i 0} {$i < 1000000} {incr i} {
set idx [expr rand()]
incr arr($idx)
dict incr dic $idx
}
set rands [dict keys $dic]
, 5,88 , set rands....
lsearch, dict exists info exists arr() 1000 :
lsearch $rands [expr rand()] 26349.115 microseconds per iteration
dict exists $dic [expr rand ()] 14.357 microseconds per iteration
info exists arr([expr rand()]) 14.652 microseconds per iteration
. , .
OP, , lsearch -sorted. .
lsearch -sorted $sortedRands [expr rand ()] 19.304 microseconds per iteration
, lsearch , , .
, -sorted,
lsearch $sortedRands [expr rand()] 120206.369 microseconds per iteration
123604.209 microseconds per iteration
, . info exists arr(... , , , .
- , ?