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

Reply via email to