/filter slow for some wildcard search strings - 28/07/06 01:30 PM
Code:
alias testfilter { var %ticks = $ticks var %w = @ChannelList1 | window %w | clear %w aline -p %w Network1×#channel1×<NOKEY>×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×ON×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×DESCRIBE×OFF aline -p %w Network2×#channel1×<NOKEY>×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×ON×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×DESCRIBE×OFF aline -p %w Network3×#channel1×<NOKEY>×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×ON×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×DESCRIBE×OFF aline -p %w Network4×#channel1×<NOKEY>×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×ON×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×DESCRIBE×OFF aline -p %w Network5×#channel1×<NOKEY>×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×ON×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×DESCRIBE×OFF aline -p %w Network6×#channel1×<NOKEY>×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×ON×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×DESCRIBE×OFF window @TMP | clear @TMP | filter -wwc %w @TMP $makewm1(23,$+(1 *,$chr(215),15 ON,$chr(215),21 ON)) echo -s $calc(($ticks - %ticks) / 1000) } alias makewm1 { var %t = $chr(215), %a = $asc(%t), %total = $1, %toks = $2- var %i = 1, %wm | while (%i < %total) { var %wm = $+(%wm,*,%t) | inc %i } var %wm = $+(%wm,*), %total = $numtok(%toks,%a), %i = 1 | while (%i <= %total) { tokenize 32 $gettok(%toks,%i,%a) | var %wm = $puttok(%wm,$2-,$1,%a) | inc %i } return %wm }
The second alias makes a wildcard string with searchtokens on certain positions.
The example takes 39 secs.
When changing the wildcard string to
$makewm1(23,$+(1 *,$chr(215),4 ON,$chr(215),6 ON))
it takes 0.065 secs.
Don't know if this can be called a bug as such, but there is some issue with /filter