Aplogies if this has already been discussed, but I haven't been following p6i too closely of late (the lure of being allowed to mess with 5.7.3 has been too strong :-)
Anyway, I presume that the Perl6 theading model will be like Perl 5 ithreads - that is to say, each thread has its own interpreter and private collection of data, apart from where data is explicity shared. In Perl 5 this involves a high cost for each new thread, since each SV etc must be individually cloned - expensive in both CPU and memory. Can we do clever things with the GC and/or COW such that cloning a thread can either be done (mostly) at the GC level, eg a "special" compacting cycle that leaves us with 2 identical(ish) compacted copies, or even better, some sort of COW so that each cloned PMC etc doesn't use any extra memory until it is modified for the first time ? Just though I'd raise this in the general conciousness while there are various GC/threads threads threading about. I'll now return to my usual activity of feeling guilty for not having updated PDD7 despite enless promises to that effect. Dave. -- "Do not dabble in paradox, Edward, it puts you in danger of fortuitous wit." Lady Croom - Arcadia