David Bovill wrote:

> Richard mentioned that LCB can be / is magnitudes slower than Livecode
> script for certain tasks?

I don't believe I have sufficient data to have made such a specific claim. If I did I was mistaken, as I've not seen enough scripts offering equivalent functionality written in both LC Script and LC Builder to have been able to provide guidance that precise.

A few weeks ago I did reply to Monte's question here about whether to write a library in Script or Builder, and I noted that if the primary consideration were execution speed (development speed had already been addressed) LC Script would seem the favorable choice.

This was based on two pieces of anecdotal information, one of which I've learned is questionable in terms of direct comparison:

- "LiveCode Builder performance improvements" is in the "Planned"
   section of the Roadmap, a good place for it given that Builder
   just premiered in v8 and there's the old adage about premature
   optimization.

- I had run one test in a field validation library which is available
  as both LC Builder and LC Script:
  <http://forums.livecode.com/viewtopic.php?f=16&t=26653>

I was discussing the latter with Peter recently and he reminded me that LC Builder doesn't yet have regex support. So while some chunk expressions in LC Script outperform some regex operations, in that case it seems likely that regex may play a strong role in the measurable performance benefit of LC Script in the one function I benchmarked from that library.

So until someone writes a set of tests that are truly equivalent in LS Script and LC Builder, any performance benefit one way or another is unknowable.

Since optimization of LC Builder is already on the Roadmap, and the need for optimization of LC Script is both more pervasive in terms of affected users and well known by the team, for myself I'd wait until both optimization efforts are completed before spending too much time with benchmark comparisons between them.

That said, if someone has an immediate need for such a comparison I'd be curious to see the scripts and the results.


> Perhaps it's time to look at a speed comparison between various ways
> to encode and decode JSON in Livecode.

Neither LC Script nor LC Builder will likely outperform the C++ used in available JavaScript engines.

Ideally that optimized code in machine-compiled form would become available to us, both for rebustness and performance as JSON's role in daily work continues to expand.

I would imagine Monte's external will outperform any scripted implementation.


> I thought jsonImport would wrap a C library - but looking at the code
> on GitHub
> <https://github.com/livecode/livecode/blob/develop/extensions/libraries/json/json.lcb>it's
> all native LCB I think. That would make no sense if LCB was slow?

My (likely naive) hope is that LC Builder's tighter internal structure will one day lend itself to becoming machine compilable. I can dream, can't I? :)


> Does anyone have a speed testing app / framework - in the spirit of
> open source I'd rather not keep rollin my own :)

I do a lot of benchmarking, but my needs are modest so I have no framework per se beyond a simple script I reuse, similar to the variant in this post:

Project: Performance Benchmarking Toolkit
<http://forums.livecode.com/viewtopic.php?f=67&t=22072&hilit=benchmark#p113636>

In fact, Malte's thread there may be a good place to continue the discussion toward a common, more generalized benchmarking framework.

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 ____________________________________________________________________
 [email protected]                http://www.FourthWorld.com


_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to