Release 6.7.10 RC 1 / 7.1.3 RC 1

-hh hh at livecode.org
Thu Mar 3 19:51:10 EST 2016


> > hh wrote: 
> > Will not work with LC 8 for a while, LC 6.7.10 is in average 16 times 
> > faster here. And in average 10 times faster than LC 7. 
> 
> FourthWorld wrote:
> My own test are showing v8 rather close for v6 in performance, and much
> faster than 7. What script(s) are you running which get those results? 

Let's take a simple example that was recently here in the list.
For your comfort the script is attached below.

It is also a field, where LC 8 is said to be already optimized.
Correct me if I'm wrong.

Here are my results from a medium fast machine (Mac mini, i5-2.5GHz)
Task (=1 x mouseUp): 100 repeats of find the minimum of 1000 integers

Version: replaceText - replace - min() - sort
6.7.10-rc1: 0.30 - 0.07 - 0.06 - 0.21 (worst timing of 10 x mouseUp)
7.1.3 -rc1: 1.78 - 4.43 - 1.38 - 0.95 (best  timing of 10 x mouseUp)
8.0.0-dp15: 1.94 - 4.69 - 1.49 - 0.94 (best  timing of 10 x mouseUp)

So the time needed is in relation 
for the "LC-given" min() 
... LC 6: LC 7: LC 8 = 1:23:25
and better for the sort
... LC 6: LC 7: LC 8 = 1:5:5
taking the best of each row
... LC 6: LC 7: LC 8 = 1:16:16

Better don't force me to publish the results of animating large polygons.
*** I left these timings out in averaging in order to acknowledge that
*** LC 8 is still in alpha.

I like LC 8 very much and I live with the speed loss I have when I use it
(it's worth for me, if I do so). The speed loss is not the culprit of the
dev team, it's the big bundle of shiny new things we wish to have ...

The script used
(by Thierry, slightly modified and expanded by me)
============================
on mouseUp
  repeat with i=1 to 1000
    get random( 1000)
    put IT & cr after LinesOfNumbers
    put IT & comma after OneLineOfNumbers
    put IT into b[i]
  end repeat
  delete last char of LinesOfNumbers
  delete last char of OneLineOfNumbers
  put 100 into nRepeat
  put the milliseconds into _ct
  -- case 1
  repeat nRepeat
    put min( replaceText( LinesOfNumbers, return,comma)) into min1
  end repeat
  put (the milliseconds - _ct)  / nRepeat into timing1
  wait 1 ticks with messages
  put the milliseconds into _ct
  -- case 2
  repeat nRepeat
    put LinesOfNumbers into nn
    replace return with comma in nn
    put min(nn) into min2
  end repeat
  put (the milliseconds - _ct)  / nRepeat into timing2
  wait 1 ticks with messages
  put the milliseconds into _ct
  -- case 3
  repeat nRepeat
    put min( OneLineOfNumbers) into min3
  end repeat
  put (the milliseconds - _ct)  / nRepeat into timing3
  wait 1 ticks with messages
  put the milliseconds into _ct
  -- case 4
  repeat nRepeat
    put LinesOfNumbers into nn
    sort nn numeric
    put line 1 of nn into min4
  end repeat
  put (the milliseconds - _ct)  / nRepeat into timing4
  put cr & the version &": "& \
      format( "%.2f - %.2f -  %.2f -  %.2f %s %s %s", \
               timing1, timing2, timing3, timing4, min1 is min3, \
               min2 is min3, min4 is min3) after fld 1
end mouseUp





More information about the use-livecode mailing list