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