[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