Richard Gaskin wrote:
Easier to script, yes, but note the result from running this script
which compares both methods:
on mouseUp
put 1000 into N
put fld 1 into tData
--
--
-- 1. repeat for each
--
put the millisecs into t
repeat N
--
put empty into R1
repeat for each line tLine in tData
if tLine is not empty then
put tLine &cr after R1
end if
end repeat
delete last char of R1
--
end repeat
put the millisecs - t into t1
--
--
-- 2. filter:
--
put the millisecs into t
repeat N
--
put tData into R2
filter R2 without empty
--
end repeat
put the millisecs - t into t2
--
--
-- Result:
put t1 && t2
end mouseUp
Results are very data dependent; I get anything from
30 14
to
67 104
for different input fields (i.e. 2:1 ratio in either direction).
Did I write this wrong?
Perhaps. Method 2 above makes a copy of the data before filtering the
copy - which may or may not be necessary in the real application
context. If the original (unfiltered) value is no longer needed then you
*may* be able to avoid the copy- which would change the results (though
not by very much - small change compared to the data dependency variation).
Seems most times I benchmark "repeat for each" with the well-optimized
"put after" I get results that hold up surprisingly well.
I have another post in the works with some other interesting
benchmarks related to processing lists (things I learned on summer
vacation <g>)...
I'll buy you a dictionary some day, so you can read up on "vacation" :-)
--
Alex Tweedly http://www.tweedly.net
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.10.5/406 - Release Date: 02/08/2006
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution