Hi Richard,

I think the speed depends on the filter complexity.
For instance:

on mouseUp
  repeat 100000
    if random (2) = 1 then put "zaz" & cr after tList
    else put "zbz" & cr after tList
  end repeat
  -----
  put the milliseconds into tStart1
  filter tList with "*a*"
  put the milliseconds - tStart1 into tResult1
  -----
  put the milliseconds into tStart2
  repeat for each line tLine in tList
    if "a" is in tList then put tLine & cr after tNewList
  end repeat
  delete char -1 of tNewList
  put the milliseconds - tStart2 into tResult2
  -----
  put "Filter: " && tResult1 & cr &"Repeat:" &&  tResult2
end mouseUp

Results -
   Filter: 41
   Repeat: 117

So may be we have to choose the right method according to the context.
Two cents that do not make life easier :-)

Le 12 juil. 05 à 22:26, Richard Gaskin a écrit :

I figured the filter command would carry at least some overhead for its convenience, but I had no idea how much!

I wrote the test below to compare it with walking through a list line by line, and the results were surprising:

on mouseUp
  put  fwdbCurTableData() into s -- gets 10,800 lines of
  --                                tab-delimited data
  --
  -- Method 1: filter command
  --
  put format("*a*\t*r*\tr\t*\t*\t*\t*\t*") into tFilter
  put s into result1
  put the millisecs into t
  filter result1 with tFilter
  put the millisecs - t into t1
  --
  --
  -- Method 2: repeat for each
  --
  set the itemdel to tab
  put the millisecs into t
  repeat for each line tLine in s
    if item 1 of tLine contains "a" \
        AND item 2 of tLine contains "r"\
        AND item 3 of tLine is "r" then
      put tLine&cr  after result2
    end if
  end repeat
  delete last char of result2
  put the millisecs - t into t2
  --
  put result1 into fld "result"
  put result2 into fld "result2"
  --
  put "Filter: "&t1 &cr& "Repeat: "&t2
end mouseUp



Results -
   Filter: 745
   Repeat: 40

Did I miss something, or am I just seeing the penalty for the filter command's generalization?

Best Regards from Paris,

Eric Chatonet.
----------------------------------------------------------------
So Smart Software

For institutions, companies and associations
Built-to-order applications: management, multimedia, internet, etc.
Windows, Mac OS and Linux... With the French touch

Free plugins and tutorials on my website
----------------------------------------------------------------
Web site        http://www.sosmartsoftware.com/
Email        [EMAIL PROTECTED]/
Phone        33 (0)1 43 31 77 62
Mobile        33 (0)6 20 74 50 86
----------------------------------------------------------------

_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to