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.

Reply via email to