Open xificurC opened 6 years ago
There is experimental support for M:N threading in Gambit v4.8.9 (enabled with --enable-smp --enable-multiple-threaded-vms
), and Gerbil supports it out of the box in v0.12.
Feel free to experiment with it, but be advised that it is work in progress with known crash bugs (see https://github.com/gambit/gambit/issues/327). We expect it to mature during this Gambit release cycle and eventually become the default, probably for Gambit v5.
What does out of the box mean? Gambit should be built with this configuration for gerbil to have it? I'm not sure what is the relation between gambit and gerbil - is gerbil code compiled with gsc in the end? Pardon the stupid questions, I'm reading too much in too little time and probably missing things that you already wrote down..
What does out of the box mean?
Out of the box means that the Gerbil runtime and compiler recognize the Gambit SMP runtime and enable smp-specific code to support it (there are a few places where this matters for low level thread primitives) . No user action is required.
Gambit should be built with this configuration for gerbil to have it?
Yes, Gambit should be built with --enable-smp --enable-multiple-threaded-vms
to have it, it's not enabled by default.
I'm not sure what is the relation between gambit and gerbil - is gerbil code compiled with gsc in the end?
Yes, the Gerbil compiler emits (Gambit-specific) Scheme code in the end, which is then compiled with gsc
.
As for the relationship between Gerbil and Gambit, you can think of Gerbil as the top half and Gambit as the bottom half of the system.
It's coming Gerbil V1.0; stay tuned.
Hi, reading through the docs I don't see if the concurrency primitives map to single core userspace threads or if there's support for multicore, or even m:n threading? Gambit docs mentioned the threads are single-core so I guess the same is true here? Either way making it clear in the docs would be nice :)