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