That is interesting and nice.
I have only run one test but it was mixed pretty good &
my result was 94 67 with the repeat for each being the
fastest method.
Thanks to both Mark & Richard for the valuable help.
-=>JB<=-
On Jul 25, 2008, at 7:06 AM, Richard Gaskin wrote:
RegEx solutions are conveniently compact to write, but given the
complexity of the RegEx subsystem they tend to be slower than more
brute-force solutions.
Being a benchmarking fan I couldn't resist testing this latest
case, extracting numerals from an alphanumeric string.
Below is a test handler which calls two functions, the first using
RegEx and the second using "repeat for each". To run just put a
button and three fields on a card, and put some alphanumeric test
into the first field. It takes the text from field 1 and runs it
through each of the two functions, putting the results into flds 2
and 3 and then displaying in the Message Box the execution times
and whether the results matched (useful to make sure the algos are
doing the same job).
In my tests here on strings long and short the "repeat for each"
method seems roughly twice as fast as the RegEx one.
on mouseup
put fld 1 into tSrc
put 1000 into n
--
-- ReplaceText:
--
put the millisecs into t
repeat n
get rplText(tSrc)
end repeat
put the millisecs - t into t1
put it into fld 2
--
-- Repeat for Each:
--
put the millisecs into t
repeat n
get rptText(tSrc)
end repeat
put the millisecs - t into t2
put it into fld 3
--
-- Results:
put t1 && t2 &cr& (fld 2 = fld 3)
end mouseup
function rplText pSrc
return replacetext( pSrc ,"[^0-9]","")
end rplText
function rptText pSrc
put empty into s
repeat for each char k in pSrc
if k is in "0123456789" then put k after s
end repeat
return s
end rptText
--
Richard Gaskin
Managing Editor, revJournal
_______________________________________________________
Rev tips, tutorials and more: http://www.revJournal.com
_______________________________________________
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
_______________________________________________
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