Alex, Thanks so much for looking into this! Bill William Prothero http://es.earthednet.org
> On Sep 10, 2014, at 6:28 AM, Alex Tweedly <a...@tweedly.net> wrote: > >> On 10/09/2014 00:17, Alex Tweedly wrote: >> I'll go experiment .... >> >> -- Alex. > Experimenting with copying a block of bytes in 7.0.0 RC1 > > Script is included in its entirety below - but basically it creates a block > of 1000 lines, 27K chars/bytes > It then repeatedly copies over a section of 104 bytes, or 104 chars or 4 > lines (i.e. 104 chars) > > As expected, copying by line is slower than by char or byte, and becomes > increasingly slower as we choose lines further into the data. > > In 6.7 (DP1), the times to copy chars or bytes are equal and very small, > while the number for lines is quite small. > > In 7.0 RC1, the times are all *MUCH* larger - to the point where I'd say 7.0 > is unacceptable. > And in addition, copying bytes takes over twice as long as copying chars - > when if anything it should be the other way round. > > 7.0 RC1 > bytes took 313 > chars took 137 > lines took 4058 > > 6.7 (DP4) > bytes took 8 > chars took 8 > lines took 411 > > i.e. 7.0 is 40 times slower for copying a block of data !! > > I'll try to enter a bug report and when (if) I succeed, I'll post the number > here. > > > -- Alex. > > constant K = 10 -- which gives 2**10 lines of data > constant KSTART = 4 -- starting offset - large numbers should make lines > slow, but not affect bytes > constant COUNT = 20000 -- make this big enough to get useful data > > on mouseUp > -- setup > local tt, tStartData, cPos1, cPos2, t1, t2 > put "abcdefghijklmnopqrstuvwxyz" & CR into tt > repeat K times > put tt after tt > end repeat > > put tt into tStartData > put "data has" && the number of lines in tStartData && the number of bytes > in tStartData &CR after fld 1 > > put the number of chars in line 1 to KSTART of tStartData into cPos1 > put the number of chars in line 1 to kSTART + 4 of tStartData into cPos2 > > put the millisecs into t1 > repeat COUNT times > put byte 1 to cPos2 - cPos1 +1 of tt into byte cPos1 to cPos2 of > tStartData > end repeat > put the millisecs into t2 > put "bytes took " && t2 - t1 &CR after msg > > put the millisecs into t1 > repeat COUNT times > put char 1 to cPos2 - cPos1 +1 of tt into char cPos1 to cPos2 of > tStartData > end repeat > put the millisecs into t2 > put "chars took " && t2 - t1 &CR after msg > > put the millisecs into t1 > repeat COUNT times > put line KSTART to KSTART+4 of tt into line KSTART to KSTART+4 of > tStartData > end repeat > put the millisecs into t2 > put "lines took " && t2 - t1 &CR after msg > > end mouseUp > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription > preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode