Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:27321 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 20656 invoked by uid 1010); 7 Jan 2007 05:39:36 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 20641 invoked from network); 7 Jan 2007 05:39:35 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 7 Jan 2007 05:39:35 -0000 Authentication-Results: pb1.pair.com header.from=frank@kromann.info; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=frank@kromann.info; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain kromann.info designates 64.186.239.125 as permitted sender) X-PHP-List-Original-Sender: frank@kromann.info X-Host-Fingerprint: 64.186.239.125 c-064-186-239-125.oc1.redwire.net Linux 2.5 (sometimes 2.4) (4) Received: from [64.186.239.125] ([64.186.239.125:36486] helo=mail.kromann.info) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 2A/B0-10134-79780A54 for ; Sun, 07 Jan 2007 00:39:35 -0500 Received: by mail.kromann.info (Postfix, from userid 510) id 08A774040CD; Sat, 6 Jan 2007 21:39:32 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on mail.kromann.info X-Spam-Level: X-Spam-Status: No, score=0.5 required=4.0 tests=AWL autolearn=ham version=3.1.7 Received: from warp (www.kromann.info [64.186.239.115]) by mail.kromann.info (Postfix) with SMTP id 3A8B34040C9; Sat, 6 Jan 2007 21:39:31 -0800 (PST) To: Andi Gutmans Cc: 'PHP Internals List' , 'Edin Kadribasic' X-Mailer: Swwwing 2000 Message-ID: <11681483788760000@9866357972520000.9866341568840000> MIME-Version: 1.0 Reply-To: "Frank M. Kromann" Date: Sat, 06 Jan 2007 21:39:38 -0800 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Subject: RE: [PHP-DEV] Windows build From: frank@kromann.info ("Frank M. Kromann") VC 6/7/8 can be installed on the same box (VC 6 does not install on Windows Vista though). My XP box has all three and I can build PHP with any of them by setting the correct environment variables before calling the build scripts. - Frank > Btw, one more thing which we could consider doing (although it means more > work) is to do the nts build with VC 8 and the thread-safe build with VC 6. > It'd probably require another machine (either physical or virtual). > > > -----Original Message----- > > From: Andi Gutmans [mailto:andi@zend.com] > > Sent: Saturday, January 06, 2007 6:20 PM > > To: 'Edin Kadribasic' > > Cc: 'PHP Internals List' > > Subject: RE: [PHP-DEV] Windows build > > > > Hi Edin, > > > > The 2% surprises me a lot. We got very different results but > > it might be due to different hardware, OS (we use Windows > > Server 2003) and different tests. Here's what we got (all > > non-threadsafe): > > > > vc2005 intel msvc6 > > bench 9.326 9.378 10.28 > > hello 10.48 11.6 11.28 > > xoops 67.82 69.49 81.34 > > static 16.97 18.4 21.18 > > qdig 63.52 67.05 69.57 > > qdig2 14.4 15.61 19.04 > > > > Btw, today I never recommend running mod_php on Windows and > > always point people to CGI or existing FastCGI implementations. > > That said, I understand that you don't want to break things > > right now and stick to VC 6. Although I know it can work in > > some cases, I agree with you that running two CRTs is > > probably not a great idea. While the interfaces of the CRT > > functions might be identical, I am not sure all the > > structures are the same and that could cause some ugliness if > > we get structs like file handlers from the Apache executable > > passed into PHP and vice-versa. > > > > It's something worth looking into but not something one would > > want to rush for a minor version like 5.2.1. > > > > Andi > > > > > -----Original Message----- > > > From: Edin Kadribasic [mailto:edin@krug.dk] > > > Sent: Saturday, January 06, 2007 1:28 PM > > > To: Andi Gutmans > > > Cc: 'PHP Internals List' > > > Subject: Re: [PHP-DEV] Windows build > > > > > > Hi Andi, > > > > > > Turns out the problem is that Apache is building their > > binaries using > > > VC6 so wrong CRT gets loaded. The only solution I found was to tell > > > Windows to load Apache with msvcr80.dll instead of msvcr.dll by > > > suppling a manifest file in Apache bin directory. If you crate > > > Apache.exe.manifest that contains: > > > > > > > > xmlns='urn:schemas-microsoft-com:asm.v1' > > > manifestVersion='1.0'> > > > > > > > > > > > version='8.0.50608.0' processorArchitecture='x86' > > > publicKeyToken='1fc8b3b9a1e18e3b' /> > > > > > > > > > > > > > > > The Apache will load PHP and PHP will be able to load > > extensions. It > > > probably isn't good idea to force a different C Runtime on > > Apache like > > > this. > > > > > > Regarding performance, I found that on Zend/bench.php the > > improvement > > > was only marginal (2%) compared to huge increase > > > (25-30%) when disabling thread support. > > > > > > http://edin.dk/archives/25-Benchmarks.html > > > > > > > > > Edin > > > > > > > > > > > > Andi Gutmans wrote: > > > > Hi Edin, > > > > > > > > Thanks for trying to get this to work! > > > > > > > > I think eventually it'll be the right move to go to VC8 > > but I agree > > > > that if it risks a successful 5.2.1 release then it might > > > not be worth > > > > doing that right now. If you can share with us a > > > reproducing case we > > > > can try and look into it and see if we can get it to work. > > > So far we > > > > have concentrated on CLI/CGI/FastCGi because that's the > > > most feasible > > > > way of running, but I agree that you also need to get the > > > other methods to run. > > > > > > > > For those who are curious, there are some significant performance > > > > improvements in VC8. Our tolower() optimization which is > > > significant > > > > is only for VC8, the compiler creates significantly > > faster code (on > > > > par with Intel C/C++ compiler), and I believe some of the CRT > > > > functions like time() are also much faster. So I