[EMAIL PROTECTED] (Aahz) writes: > >[phr] The day is coming when even cheap computers have multiple cpu's. > >See hyperthreading and the coming multi-core P4's, and the finally > >announced Cell processor. > > > >Conclusion: the GIL must die. > > It's not clear to what extent these processors will perform well with > shared memory space. One of the things I remember most about Bruce > Eckel's discussions of Java and threading is just how broken Java's > threading model is in certain respects when it comes to CPU caches > failing to maintain cache coherency.
Um??? I'm not experienced with multiprocessors but I thought that maintaining cache coherency was a requirement. What's the deal? If coherency isn't maintained, is it really multiprocessing? > It's always going to be true that getting fully scaled performance > will require more CPUs with non-shared memory -- that's going to > mean IPC with multiple processes instead of threads. But unless you use shared memory, the context switch overhead from IPC becomes a bad bottleneck. See http://poshmodule.sourceforge.net/posh/html/node1.html for an interesting scheme of working around the GIL by spreading naturally multi-threaded applications into multiple processes (using shared memory). It would simplify things a lot if you could just use threads. -- http://mail.python.org/mailman/listinfo/python-list