I have a patch adding the GC that's taken against the patch I submitted earlier (converting accesses to refcount and is_ref to macros).
Patch: http://web.pdx.edu/~way/frommacros.diff.txt The two new files, zend_gc.c and zend_gc.h go in the Zend folder: http://web.pdx.edu/~way/zend_gc.c http://web.pdx.edu/~way/zend_gc.h
Is it possible that total server throughput with gc could actually be better than unmodified php by preventing swapping at some higher level of concurrent requests?
Yes, that's certainly true if it becomes the case that concurrent requests take up so much memory that they induce swapping! If that ever happens, the system will basically come to a complete standstill. No matter what the GC does, it still will be effectively infinitely faster than saving and retrieving information from the hard drive. Disclaimer: I don't administrate web servers, but it seems to me that it's unlikely that any server administrators would allow their machines to swap on web requests, at least on dedicated machines serving a lot of people. Performance, I imagine, would simply be abysmal if the server had to swap on even a fraction of the requests it gets! If that happens, a server administrator would just get a new machine, or upgrade the memory on the existing one, or restrict the maximum number of concurrent requests. Therefore, I imagine gc would just delay the date of that memory upgrade, or allow more concurrent clients to be served on one machine. David -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php