On Jun 7, 2005, at 6:24 AM, ron barber wrote:

put uniencode(return,"Japanese") into unireturn
repeat for each line l in thetext
   put uniencode(l,"Japanese")&unireturn after newtext
end repeat
 set the unicodetext of fld "Utext"  to newtext

is much much faster as the size of thetext gets large than:

set the unicodetext of fld "Utext"  to uniencode(thetext,"Japanese")

This is surprising. I have run some tests on 'put after' in the past and it seems to behave as if some overhead such as reallocating memory occurs every so often. That will tend to spread the reallocation cost. It might be that uniEncode() will after a point get to reallocating memory for every character.

This is wild speculation.


This seems also to be true of the replacetext function as of 2.5 (I haven't tried the reportedly improved 2.6 yet)
viz. This:
repeat for each line l in thetext
   put replacetext (thetext,oldword,newword)&return after newtext
end repeat

is faster than:
put replacetext (thetext,oldword,newword)&return into newtext

when thetext is very large.

Why is this true and is it generally known and I just missed it?

Yes. This is known. It might be that it is starting over after each replace.

I tinkered with the new replaceText() and it seems to work.
--
**********************************************
    DSC (Dar Scott Consulting & Dar's Lab)
    http://www.swcp.com/dsc/
    Programming and software
**********************************************

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to