Anything LiveCode Can Learn From GO

Tom Glod tom at
Mon Jun 11 21:02:48 EDT 2018

i see what you mean.....  the single threaded aspect of LC is a drag.......
i'm actually trying my hand at some kind of workaround for this limitation
for the global conference in september ....i aim to do some multi-core
processing using LC and measure performance gain over specific workloads search....db query..... and i/o.

On Mon, Jun 11, 2018 at 8:08 PM, Sannyasin Brahmanathaswami via
use-livecode <use-livecode at> wrote:

> I wasn't thinking about high language per se.   but more from an engine
> point of view, specifically use of "Goroutines"
> "But, most of the modern programming languages(like Java, Python etc.) are
> from the ’90s single threaded environment. Most of those programming
> languages supports multi-threading. But the real problem comes with
> concurrent execution, threading-locking, race conditions and deadlocks.
> Those things make it hard to create a multi-threading application on those
> languages.
> {snip]
> On the other hand, Go was released in 2009 when multi-core processors were
> already available. That’s why Go is built with keeping concurrency in mind.
> Go has goroutines instead of threads. They consume almost 2KB memory from
> the heap. So, you can spin millions of goroutines at any time.
> How Goroutines work? Reffrance: http://golangtutorials.
> Other benefits are :
>     Goroutines have growable segmented stacks. That means they will use
> more memory only when needed.
>     Goroutines have a faster startup time than threads.
>     Goroutines come with built-in primitives to communicate safely between
> themselves (channels).
>     Goroutines allow you to avoid having to resort to mutex locking when
> sharing data structures.
>     Also, goroutines and OS threads do not have 1:1 mapping. A single
> goroutine can run on multiple threads. Goroutines are multiplexed into
> small number of OS threads.
> =========
> And from the reference a "Goroutine" may be not language specific and
> maybe (I don't know much about the engine) I am dreaming about the rabbit
> in the moon, but, for Mark's "idea machine" there is this:
> " Effectively for us goroutines hides many of the internal machine
> complexities in achieving parallelism. This also means that the language
> designers could implement changes to how goroutines scale on the machine
> taking advantage of hardware and CPU improvements."
> Brahmanathaswami
> On 6/10/18, 5:01 AM, "use-livecode on behalf of Tom Glod via
> use-livecode" <use-livecode-bounces at on behalf of
> use-livecode at> wrote:
>     LC and Go have entirely different target markets....but since you can
>     easily make 1 application talk to another application using sockets
> .....
>     or open process...... the LC and Go make a wonderful partnership if you
>     need to build UI ...but also do High Performance Computing.
>     The 2 can make a great couple indeed.  But neither can replace the
> other.
> _______________________________________________
> use-livecode mailing list
> use-livecode at
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:

More information about the Use-livecode mailing list