Am 26.05.2005 um 13:58 schrieb Andrew Piskorski:
Here's a naive, clueless-because-I-have-not-read-the-source question: Is some sort of copy-on-write feasible, for the multi-threaded case? Or would it even help, if it was possible?
This piece alone is not the only obstacle. The more important obstacle is: huge number of *things* affected by the process (each and every procedure must be copied, each and every C-level command, each and every global/namespaced variable, etc. etc.). Doing this on *each* request will just dwarf your CPU on any reasonable production site. Another important obstacle: copying commands is not enough since packages do have the freedom to do whatever they like, when loaded. If you were to *properly* address this, then you need to reload the package every time you clone the interp. In which case you needn't copy it's commands... Also, copying commands w/o copying their clientData properly is not going to work. This is how 3.x AS worked and it was plain wrong. Hence the 4.x has completely different (and more correct) approach. Zoran -- AOLserver - http://www.aolserver.com/ To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.