[gambit-list] Native threading with C++?

Mikael mikael.rcv at gmail.com
Wed Mar 28 08:59:25 EDT 2012


Dear Marc, I'm curious,

Den 22 mars 2012 14:46 skrev Marc Feeley <feeley at iro.umontreal.ca>:

 That's not currently possible because the Scheme global variables, and
> some global state of the Gambit VM, are implemented using global C/C++
> structures.  What is needed (and something that is on my TODO) is to allow
> instances of this state to be created dynamically (essentially a
> constructor for the Gambit VM).  That way several instances of Gambit can
> coexist in the same OS process.
>


> Unfortunately, this will slow down accesses to global variables, because
> an indirection will be needed.
>

So with this several-gambit-vm:s-coexisting-in-the-same-os-process option,
each read and write to a global var will require one more indirection and
that's it?

Does access to Gambit runtime procedures like |list| and |open-string|
qualify as this?

You mean one indirection i.e. just following one pointer once right? If so
I suppose this gives a max approx 0.5% performance decrease for typical
code - if so, for when this functionality is needed, it's really worth it.

Will there be a configure argument to disable/enable this option both now,
and later when running in SMP mode?

Kind regards, Mikael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20120328/6bee790f/attachment.htm>


More information about the Gambit-list mailing list