At Thu, 17 Jul 2014 14:28:29 -0400, Brian Adkins wrote: > On Jul 17, 2014, at 2:05 PM, Brian Adkins wrote: > > On Jul 17, 2014, at 1:26 PM, Matthew Flatt wrote: > >> We wanted to avoid multiple processes because OSes don't provide great > >> facilities for managing them and communicating between them. > > > > Maybe I'm confused. I thought creating a new Place involved creating a new > process with the Racket VM, to run in parallel (potentially on a different > core) with the original process. Is the "new Racket instance" running in the > same process as the original? That's how I read the following: > > > > "The place form creates a place, which is effectively a new Racket instance > that can run in parallel to other places, including the initial place. " > > > > Maybe wording like "which is effectively" leaves too much to the > > imagination. > Do Places run in OS scheduled threads? > > Ha. I'm watching the video Asumu posted, and right after posting the > above to the list, within a couple seconds, you explain in the video > that Places are in the same OS process :)
Section 5 of the paper also explains the implementation, but maybe you've gotten everything out of the video, already. > It might be worth making that clear in the documentation. I expect > many people who are interested to read about parallelism in Racket > may also be interested in some of the implementation details as they > pertain to efficiency. The reference documentation is meant to commit to implementation details as little as possible, but there's certainly room for improvement there. For example, I think it's worth stating there's no separate OS process in the sense that a program that uses `place` will not have to worry about managing separate processes. ____________________ Racket Users list: http://lists.racket-lang.org/users