Dear Marc, I'm curious,
Den 22 mars 2012 14:46 skrev Marc Feeley feeley@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