Jorge Schrauwen wrote on 2008-10-30 17:03
On Thu, Oct 30, 2008 at 5:37 AM, Bing Swen <[EMAIL PROTECTED]> wrote:
Paul Querna wrote on 2008-10-30 12:10
Bing Swen wrote:
Paul Querna wrote on 2008-10-28 15:12
Hope you've included 64-bit Windows in mind. Make x64 Windows a
first-class citizen in httpd-2.4.x, please.
How is it not a first class citizen in 2.2.x?
Here are some reasons:
1. Currently Win-x64 compilation is a painstaking mission (hopeless for
us), still no go to a 64-bit httpd.exe;
I have to admit it isn't easy to do so. But it certainly is possible!
Due to lack of time on my part I've not updated the httpd wiki but you can
find how to do it here:
http://www.blackdot.be/?inc=apache/knowledge/tutorials/x64
First few times are the hardest but once you setup a nice build
environment its all good.
Vista + vs 2005/2008 is generally bad. XP x64 + 2005 currently works the
best, although 2008 works too.
If you can't be bothered with the trouble, there are unofficial binaries
on there too if you want to play with it.
2. Many stock modules have no 64-bit configuration.
Again it's a matter of recompiling, most windows users are spoiled and
thing everything comes in nice binaries.
libphp5, mod_macro, mod_jk, mod_security,... can all be recompiled for
64-bit, most are easier to do than httpd itself.
Thanks for the nicely presented tutorial. I'll try to follow it and to
understand what that 600+ PERL lines have fixed.
So we have to get AWK, Bison, Flex and Sed to work, which are not required
for a 32-bit build. And, we need a Perl Interpreter to run some "magic"
conversions to get it built. That already made Win-x64 httpd a second-class
citizen;)
3. For some that compiles, there are lots of warnings of dangerous
conversions. Win-64 uses P64 (only pointers are 64 bits), instead of PL64
like Linux.
4. Suboptimal network i/o and so second-class performance. Native
support of IOCP (completion port) needs a mapping from requests (not
connections) to worker threads, so requires httpd to do some "connection
scheduling" ("suspendable connections" as discussed before).
Bing
Personally I'd love to see the httpd project release 64-bit binaries
themselves. But it's a lot of work for not much gain!*
* tests with the early 2.2 branch show little to no improvements.
The improvement is httpd's virtual memory -- and actually very significant:
we need to map a 500+ GB index into the memory space of httpd's child
process. 64-bit space is our only choice;)
Bing