On 10/24/06, Robert Oliver <rob / ocstech.com> wrote: > On 10/24/06, M. Edward (Ed) Borasky <znmeb / cesmail.net> wrote: > > > > Really? Curt, Austin? Is native (one-click) Ruby 1.8.5 slower on, say, a > > 933 MHz Pentium III running Windows than, say, a gcc-compiled (O2) Ruby > > on the same hardware? > I've found this true before. The Cygwin version simply performs better by a > significant margin than the one-click. > > I will run some benchmarks again and post as well, as I don't have the old > figures handy. It's not Cygwin that's faster; it's GCC. You're comparing VC6 -- which is a compiler released in 1998 -- to GCC 3.4.x released in 2004 or later. Cygwin may be able to perform even faster, because it may include GCC 4.x (I don't know; I stopped using Cygwin as soon as I found more useful tools that didn't require the whole bloody framework). Cygwin, on the other hand, will impose a certain amount of overhead because everything essentially goes through the GPLed cygwin DLL (and that licence choice, my friends, is part of the reason we shouldn't default to a Cygwin install in any case). A MinGW build will perform faster than the VC6 build because of six years of compiler optimizations applied -- to compare apples to apples, use GCC 2.8 or EGCS 1.1. I suspect that the performance of Ruby compiled with GCC 2.8 would, well, suck. A VC8 build will perform faster than either a MinGW build or a VC6 build -- but there are other tradeoffs that are turning out to be rather hard to deal with and require assistance from Microsoft. To the limit of what compiler optimizations make a difference, in any case. I have little nice to say about Cygwin when people bring it up as a solution, because it IS *NOT* a "solution" on Windows. It's a hack; a workaround. It's good to use when you absolutely must use Unix software that the developers have been too damned lazy to actually *port* the software to Windows. It's really not much better than using WINE to run Windows software. It'll work, but that doesn't mean you really *want* to use it if you don't absolutely have to. Please, try to compare apples to apples. If Matz, as usual, has a 1.8.6 release for Christmas (Matz?) I will be recommending Curt use MinGW to compile Ruby for Windows. The discussions that are going on with Microsoft will be continuing with the preferred target for the VC8 build being next year's 1.9.1, because I suspect it will take nearly that long to build the support tools we need to make this work properly. -austin -- Austin Ziegler * halostatue / gmail.com * http://www.halostatue.ca/ * austin / halostatue.ca * http://www.halostatue.ca/feed/ * austin / zieglers.ca