Slow LC 9 Performance - Test Stack, Video, QA Report

Curry Kenworthy curry at pair.com
Thu Sep 6 18:15:56 EDT 2018


Hello Everyone,

Updated stack and more complete results - let me know if you get 
something very different on your machine.

I've added two additional LC benchmark test variations to the "showdown" 
test stack. That gives it empty loop (with i) and math-intensive options 
in the "root loops" button. I felt those were needed to round out the 
tests and cover more areas.

(It has only 3 buttons, but each button has right-click and shift-click 
variations on the general test, explained in tooltips. Total of 12 
benchmarks.)

http://curryk.com/LC-Version-Showdown-B.zip

Also the result times (in ms) are now saved to a global variable with 
descriptive keys. I used that to crank out a comprehensive report of the 
benchmark results on both Mac and Windows:

http://curryk.com/lc-version-showdown-win-mac.png

http://curryk.com/lc-version-showdown-win-mac.pdf

As you can see, in many areas LiveCode is significantly slower (1.6x, 
1.8x, 2x, 3x, 4x) than it was 2 years ago.

Mac and Windows is a bit different, at least on my machines. Windows was 
hit worse on loops, Mac slowed down more on arrays. But the overall 
pattern is similar; except for some text operations, LC has become 
noticeably slower than it was before.

For those of us who have serious and substantial code - big problem! 
Understandable during the LC 7 refactoring, but now it's hopefully time 
to start tightening things up again.

(And no, I certainly don't consider performance a "use-case" for 
converting any serious blocks of code to JS or other languages! I can 
write JS well enough as you see, but if I wanted to write all my 
important code in JS, I would be there, not here. I take LC coding very 
seriously, maintain and produce a lot of extremely high-quality LCS 
code, and I consider LC a serious platform for coding. I want my 
important code, my serious code, right here in LCS. And I want to see LC 
gain popularity among coders. Trust me, performance is your friend and 
good things follow it, so any attention to performance should pay for 
itself.)

Anyway, I hope this info and effort helps the cause and helps LC! There 
are probably a number of important areas I missed, but it is a rather 
extensive benchmark already and does touch on a variety of the basics. 
That's all the tests I have time to design at the moment, must get back 
to other code, but this stack will make it fairly easy to add more tests 
in future and evaluate new versions on current tests. I hope to follow 
up with a satisfying performance "smackdown" where a new LC 9 or 10 mops 
the floor with the competition! :)

Best wishes,

Curry Kenworthy

Custom Software Development
LiveCode Training and Consulting
http://livecodeconsulting.com/






More information about the use-livecode mailing list