Re: Parameters vs. threads
Marc Nieper-WiÃkirchen 23 Apr 2020 21:11 UTC
> Chibi has shared parameter objects like Gambit. Racket, Guile, and Gauche copy them, but I don't know how they do so.
Racket implements parameter objects in terms of thread cells ([1]).
The problem, therefore, reduces to how thread cells work and are
implemented. I haven't checked the Racket source code in this regard,
but they could be mapped to POSIX thread-local storage. When a thread
is created, they have to be initialized, which has the same
algorithmic complexity as, say, Chicken's copying of a vector.
[1] https://docs.racket-lang.org/reference/threadcells.html