freenode/#sicl - IRC Chatlog
Search
3:50:52
no-defun-allowed
With a green threading configuration that assigns many green threads to OS or hardware threads, would it be better to assign one nursery per green thread or per OS thread? I think the latter might be more predictable on the cache (but does it really matter on the millisecond scale?), but it would complicate tracing the nursery significantly.
3:52:27
no-defun-allowed
Oh, and the latter would also require you to copy objects to the global heap to migrate a green thread between OS threads. That is also no good.
4:09:04
beach
no-defun-allowed: I think it is impossible to say something general about the performance difference of those two cases.
5:26:06
no-defun-allowed
I ask because I was pondering what the most convenient way to do asynchronous programming in Common Lisp, and now I am thinking that it would be to use green threads, as then all the synchronous libraries, say usocket and bordeaux-threads could then use green threads.
5:27:22
no-defun-allowed
Then, in turn, green threads could be implemented conveniently if I can create and swap out processor contexts. Those contexts would have to have their own stacks, but I'm not sure about nurseries.
5:53:40
beach
I am having a hard time with the concept of green threads. If I understand things right, they exist to compensate for inadequate operating systems in terms of performance, and they put a huge burden on the application writer that, in my opinion, is the responsibility of the operating system.