Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:30936 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 6452 invoked by uid 1010); 14 Jul 2007 17:21:22 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 6437 invoked from network); 14 Jul 2007 17:21:22 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 Jul 2007 17:21:22 -0000 Authentication-Results: pb1.pair.com smtp.mail=planetbeing@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=planetbeing@gmail.com; sender-id=pass; domainkeys=bad Received-SPF: pass (pb1.pair.com: domain gmail.com designates 66.249.92.169 as permitted sender) DomainKey-Status: bad X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: planetbeing@gmail.com X-Host-Fingerprint: 66.249.92.169 ug-out-1314.google.com Received: from [66.249.92.169] ([66.249.92.169:50586] helo=ug-out-1314.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 62/E3-05977-01609964 for ; Sat, 14 Jul 2007 13:21:21 -0400 Received: by ug-out-1314.google.com with SMTP id c2so867829ugf for ; Sat, 14 Jul 2007 10:21:17 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=BLRLG2OOqVD5slNeq1bEIeW/joKhRT0UU0FPubrkk9SvqRyIYui0JnYNlVj2ms23C+yEWi9CoWNirYOvGISGlY3judsWLe03NWMYZ3h4G4imfeDE+abBpHpFd5ZNWbX25MlkoyHGxZ914u5a27eVVCKRUs4EUvT/O205aLGZPGM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=e1UVuYwu//ayrmEPzOjVUnevliteYG3JGsaG2Tjn7MmEhQm1CvhLK5H5cJV8+HUKYjoKgDGzu+fsgEyF95u/54c4p/CEkwVaHbpXgwOPdqwIAIGGr8LgtIxR7VaCrHOJgZWpaRvLZSSqrdMOr7HlBWPCvMdKaczjK2w3+31ZSDE= Received: by 10.78.153.17 with SMTP id a17mr759596hue.1184433677196; Sat, 14 Jul 2007 10:21:17 -0700 (PDT) Received: by 10.78.69.16 with HTTP; Sat, 14 Jul 2007 10:21:17 -0700 (PDT) Message-ID: Date: Sat, 14 Jul 2007 10:21:17 -0700 To: internals@lists.php.net In-Reply-To: <0E6F6F20-5F50-4FC0-9B24-F960A36E0C80@procata.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <0E6F6F20-5F50-4FC0-9B24-F960A36E0C80@procata.com> Subject: Re: [PHP-DEV] Mid-term Update for Cycle Collector (Google Summer of Code Project) From: planetbeing@gmail.com ("David Wang") 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