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