LiveCode 9 (as of 9.0.1 RC 3) is significantly slower than LiveCode 6.7 in a variety of tasks. This is a huge problem, it affects many of the projects I'm doing, and I'm sure others are in the same boat. Fellow boat members: please join my bug report/feature request below!

The slowdown can be demonstrated both in test code and in real-world applications. The problem(s) may be in a specific area, but the actual effects on running code are widespread and fairly general, impacting multiple areas in my testing from math and loops to text, chunks, and arrays. I am posting some resources tonight to help draw attention and evaluate this problem, and requesting that LiveCode 9 be optimized to achieve at least speed parity with LiveCode 6 in these areas.

(I am encouraged that some LC engine optimization impacting arrays is already underway by LC Mark W., but I want to emphasize and prove beyond doubt that several areas are affected and not only arrays. Therefore I hope this bug reports and test stack(s) will help to confirm whether the optimizations underway also solve the other areas, or whether those areas need further separate optimization.)

Resources below.

A) QA Bug or Feature Request:

https://quality.livecode.com/show_bug.cgi?id=21561

Report on this problem (which negatively impacts end users for existing features) with 2 recipes and downloads (test demo code and real world application). If your own app or code is affected by LC 9 performance, please add your CC and a comment.

B) YouTube video: LC Version "Showdown"

https://youtu.be/8uhOem46VXg

Thorough demonstration and discussion of my tests and the results, pitting LiveCode 6.7 against the latest release of LiveCode 9 in several tasks that evaluate loops, math, text appends, array access, item chunks, and text replace.

JavaScript code is also tested and provided to provide additional reference. (Thanks Richard G. for the suggestion! Very interesting results.)

C) LC Version "Showdown" demo stack:

http://curryk.com/showdown.zip

The stack used in the video. See and test the code for yourself. Compares 6.7 and LC 9 (or others, you can use 7 or 8 too) for speed in loops, math, text appends, array access, item chunks, and text replace. (Also has effects used in video competition; this issue has been on my to-do list for some time, and I wanted a stack that looks good, makes comparisons quick and easy, and can serve as a useful platform for current and future tests.)

Some buttons have right-click or shift-click alternatives, these are listed in tooltips. If desired, paste the JavaScript (which is automatically placed on the clipboard after each test) into js.do or another web page to compare the JS speed to LC.

BTW, I'm only days away from a new WordLib release and have been doing a great deal of cross-version testing with it too. That, and Mark's array effort, were what prompted me to make extra time for this and get it posted today. WordReport is also due for an update, so is WordOut, and performance is something I take very seriously. Beyond that, I place the highest importance on all client app performance too.

WordLib code uses a variety of the code areas mentioned here, some arrays but not relying on them heavily in the work, so I consider it a good balanced real-world example of the impact of LC 9 performance. It's pretty hard-hit for big files, because many or most operations in LC 9 take 2x, 3x, or 4x the time compared to LC 6. (In fact I think it's somewhat challenging to find substantial code that is NOT hit by LC 9 performance. I found one example in 9's favor to include in the showdown stack and video.)

So again I wanted to emphasize it's not just arrays - that is proven here beyond any doubt in downloadable code and on video. I hope the array optimizations might help the other areas too, but if not, they need attention. Thank you! :)

Best wishes,

Curry Kenworthy

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


_______________________________________________
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

Reply via email to