Simon Kröger
7/18/2006 9:28:00 PM
Mauricio Fernandez wrote:
> On Wed, Jul 19, 2006 at 03:06:10AM +0900, Francis Cianfrocca wrote:
>>> regarding ruby stuff being 'easy' to install i'd say that opening up the
>>> world of editing source and compiling it will certainly bring in patches and
>>> contributions - and those may be steps towards making ruby extensions easier
>>> to install be they binary or not.
>> This point was made upthread and is entirely valid. I'm not proposing
>> that people stop working with extensions in source code. But as Ruby
>> applications become more successful and acquire credibility for
>> production use, the lack of really seamless binary support in a range of
>> environments (including Windows flavors) becomes a barrier to adoption.
>> In a sense, I'm talking about enabling a community of users that today
>> have some good reasons to avoid Ruby.
>>
>> You are right, though, this is orthogonal to the VC-MinGW choice and
>> belongs on its own thread.
>
> I believe that it is not entirely orthogonal. My gut feeling is that MinGW
> would make it easier to provide binaries, thanks to:
> * the toolchain being closer to that you have on un*x: this means that
> third party libs are often easier to compile than with VC 2005. Ara cited
> gsl. As you said, in the long term not only the extensions, but also the
> libs themselves would have to be provided in binary form.
> * the possibility to cross-compile (this is something I've repeatedly used myself)
> * its availability in time (is VC 2005 to end like VC6?)
Actually i was about to say something like mingw is only easier if you already
know linux tools, dll file format isn't compiler dependent, windows users don't
want to fiddle with make and so on.
While i think this is all true i have to admit that it isn't really ruling out
mingw, so i downloaded and installed it (not for the first time).
I had a tough time figuring out that ruby 1.8.4 isn't compiling unmodified with
the 'Candidate' version and how to fix that. (and you do have to install a lot
of third party libs if you want all the goodness of the one-click, or be able
to use gems e.g.)
To be honest, i thought mingw would have performance problems on windows, but
everything i tried so far is comparable, e.g.:
C:\development>ruby -v sodoku.rb sodoku.txt
ruby 1.8.4 (2005-12-24) [i386-mswin32]
user system total real
solving nr 1
...
solving nr 29 0.922000 0.000000 0.922000 ( 0.922000)
+-------+-------+-------+
| 1 2 6 | 4 3 7 | 9 5 8 |
| 8 9 5 | 6 2 1 | 4 7 3 |
| 3 7 4 | 9 8 5 | 1 2 6 |
+-------+-------+-------+
| 4 5 7 | 1 9 3 | 8 6 2 |
| 9 8 3 | 2 4 6 | 5 1 7 |
| 6 1 2 | 5 7 8 | 3 9 4 |
+-------+-------+-------+
| 2 6 9 | 3 1 4 | 7 8 5 |
| 5 4 8 | 7 6 9 | 2 3 1 |
| 7 3 1 | 8 5 2 | 6 4 9 |
+-------+-------+-------+
total 13.750000 0.047000 13.797000 ( 13.827000)
average 0.474138 0.001621 0.475759 ( 0.476793)
and mingw:
$ ruby -v sodoku.rb sodoku.txt
ruby 1.8.4 (2005-12-24) [i386-mingw32]
user system total real
solving nr 1
...
solving nr 29 0.640000 0.000000 0.640000 ( 0.640551)
+-------+-------+-------+
| 1 2 6 | 4 3 7 | 9 5 8 |
| 8 9 5 | 6 2 1 | 4 7 3 |
| 3 7 4 | 9 8 5 | 1 2 6 |
+-------+-------+-------+
| 4 5 7 | 1 9 3 | 8 6 2 |
| 9 8 3 | 2 4 6 | 5 1 7 |
| 6 1 2 | 5 7 8 | 3 9 4 |
+-------+-------+-------+
| 2 6 9 | 3 1 4 | 7 8 5 |
| 5 4 8 | 7 6 9 | 2 3 1 |
| 7 3 1 | 8 5 2 | 6 4 9 |
+-------+-------+-------+
total 10.031000 0.109000 10.140000 ( 10.139457)
average 0.345897 0.003759 0.349655 ( 0.349636)
It's 25% faster. 8)
(gcc version 3.4.5 (mingw special))
Ok, go on Curt, i would like to see how a vc2005 build would compare to this
but MinGW seems at least on par with vc6.
If on the long run we can have binaries for windows easier this way I'm all for it.
cheers
Simon