Luis Lavena
2008-Apr-27 23:18 UTC
[Rubyinstaller-devel] [Fwd: GCC 4.x on Windows (now with more statistics!)]
On Sun, Apr 27, 2008 at 6:51 PM, Phillip Gawlowski <cmdjackryan at googlemail.com> wrote:> > Since I have no clue if this arrived on the ruby installer list: >Nop, it didn''t got into the list, you need to be subscribed to allow mails :-P Anyway, see my comments inline.> - -------- Original Message -------- > Subject: GCC 4.x on Windows (now with more statistics!) > Date: Fri, 25 Apr 2008 19:16:23 +0200 > From: Phillip Gawlowski <cmdjackryan at gmail.com> > To: For RubyInstaller Developers <rubyinstaller-devel at rubyforge.org> > > I just read Luis'' blog post on the state of the project[0], and saw that > MinGW with GCC4 is missing. > > While it is not officially supported, there are binaries available: > > http://www.develer.com/oss/GccWinBinaries >I prefer TDM release, since a downloadable file that could be extracted: http://www.tdragon.net/recentgcc/ The one that Giovanni maintains contains all bundled into a nice setup, which is good if you plan to install it on end-user computer, but prove no advantage for us. Also, it contains mingw32-make, which proven to be problematic for Ruby assumptions (the makefile extconf generates is more posix like than windows like).> GCC4 is a major update to GCC, especially in terms of speed (of the > compiler, and the compiled source), and the Ruby-Installer might want to > use it (for testing purposes, since MinGW themselves don''t consider it > production ready yet, but GCC4 is out for years now...). >Yes, have played with it several times, you can see it in my older pastie, using noven.net release instead of TDM at that time (July 2007). http://pastie.caboo.se/95210> Okay, for comparison (using Luis'' ''benchmark''): > > mswin32: 30.334 sec | speedup: 1 > gcc4: 18.557 sec | speedup: 1.63 > gcc3: 19.528 sec | speedup: 1.55 >Nice numbers, the benchmark just use an average test instead of more of the specialized benchmarks out there, The nice thing is all the implementations support the script out of the box. Now that Installer3 is mirrored in the svn repository[1] you can grab them and provide patches for use of GCC4 instead of GCC3, you''re welcome! :-D (The good thing of TDM releases is they keep using .tar.gz and .zip files for the packages, so there is no need to do some tricks for getting the files). Thank you for your time and effort on testing all this! PS: CC''ed this mail for the list to know about this! [1] http://rubyinstaller.rubyforge.org/svn/trunk/installer3/ -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams
Luis Lavena
2008-Apr-27 23:44 UTC
[Rubyinstaller-devel] [Fwd: GCC 4.x on Windows (now with more statistics!)]
On Sun, Apr 27, 2008 at 8:37 PM, Phillip Gawlowski <cmdjackryan at googlemail.com> wrote:> -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Luis Lavena wrote: > | On Sun, Apr 27, 2008 at 6:51 PM, Phillip Gawlowski > | <cmdjackryan at googlemail.com> wrote: > |> Since I have no clue if this arrived on the ruby installer list: > |> > | > | Nop, it didn''t got into the list, you need to be subscribed to allow > mails :-P > > Actually, I am. I didn''t get a bounce, no nothing. Strange. I''ll > investigate (and add all the possible GMail addresses I have, if need be > > :P). >Yeah, mailman sometimes does weird things :-P> | Anyway, see my comments inline. > | > | I prefer TDM release, since a downloadable file that could be extracted: > | > | http://www.tdragon.net/recentgcc/ > | > | The one that Giovanni maintains contains all bundled into a nice > | setup, which is good if you plan to install it on end-user computer, > | but prove no advantage for us. > > What ever floats your boat, really. I just picked that one, since it was > the least hassle to install for me, when I needed to grab a GCC. >Yes, as end user is more easy to install it, but if you take a look at what we do with the recipes, you will see we are actually downloading GCC and MSYS to actually create a development environment, and not forcing the developer already have one installed ;-)> > | > | Yes, have played with it several times, you can see it in my older > | pastie, using noven.net release instead of TDM at that time (July > | 2007). > | > | http://pastie.caboo.se/95210 > > Hm, interesting.. > > The speed increase GCC3 vs GCC4 seems most notable in lower end > machines, like mine. >Agree there too, running on the Core 2 Duo no ruby implemenation took real advantage of the CPU power it have available: it never used more than 45% :-P> > |> Okay, for comparison (using Luis'' ''benchmark''): > |> > |> mswin32: 30.334 sec | speedup: 1 > |> gcc4: 18.557 sec | speedup: 1.63 > |> gcc3: 19.528 sec | speedup: 1.55 > |> > | > | Nice numbers, the benchmark just use an average test instead of more > | of the specialized benchmarks out there, The nice thing is all the > | implementations support the script out of the box. > > Yep, it is a good baseline, but not a ''real'' benchmark, unfortunately. > But good enough to see trends, anyway. >Well, actually is more than a real benchmark. As example, the YARV bench only prove and excersice especific parts of the Ruby VM that has been optimized, but is not a real life test like PetStore is done for testing Rails performance. On average, I complete testing of a Rails application from 80 seconds (580 sepcs) down to 48 seconds running with MinGW build of Ruby.> | Now that Installer3 is mirrored in the svn repository[1] you can grab > | them and provide patches for use of GCC4 instead of GCC3, you''re > | welcome! :-D > > Well, if I can do that, I will. But no guarantees (My GCC Fu is very, > very weak). ;) >You don''t need a lot of GCC fu, just replace the locations for the GCC packages, check they download, extract and can successfuly ''configure'' and compile Ruby :-)> However, when I built Ruby with GCC4, I had no problems to build it, > actually. I think that hinges more on the makefiles than the C source. >Did you use configure to generate the makefile? if so that means you need MSYS installed too, don''t remember if Giovanni installed provides it.> > | Thank you for your time and effort on testing all this! > > No problem, really. > > > | PS: CC''ed this mail for the list to know about this! > > Thanks. > > > | [1] http://rubyinstaller.rubyforge.org/svn/trunk/installer3/ > > > - -- > Phillip Gawlowski > Twitter: twitter.com/cynicalryan > > Use recursive procedures for recursively-defined data structures. > ~ - The Elements of Programming Style (Kernighan & Plaugher) > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.8 (MingW32) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iEYEARECAAYFAkgVDh0ACgkQbtAgaoJTgL928ACfcBlaRrX/edneJpttroysYHMh > ttsAnikkUq2jFwX9YUvh/Z2gh4eiVZMP > =IYIS > -----END PGP SIGNATURE----- >-- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams
Phillip Gawlowski
2008-Apr-27 23:56 UTC
[Rubyinstaller-devel] [Fwd: GCC 4.x on Windows (now with more statistics!)]
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Luis Lavena wrote: | | Yeah, mailman sometimes does weird things :-P Don''t get me started. :P | | Yes, as end user is more easy to install it, but if you take a look at | what we do with the recipes, you will see we are actually downloading | GCC and MSYS to actually create a development environment, and not | forcing the developer already have one installed ;-) Well, yeah. But it''d be nice if you''d have checked if I had MSYS/MinGW installed, like I do. :P | Agree there too, running on the Core 2 Duo no ruby implemenation took | real advantage of the CPU power it have available: it never used more | than 45% :-P No surprise there. MRI isn''t multi-threaded, so of course it only uses one CPU :P | Well, actually is more than a real benchmark. As example, the YARV | bench only prove and excersice especific parts of the Ruby VM that has | been optimized, but is not a real life test like PetStore is done for | testing Rails performance. Yes and no. It it is a bit of number crunching, but doesn''t test things like IO, compression, Arrays, etc. I''m not talking about benchmarks showing off features. ;) | You don''t need a lot of GCC fu, just replace the locations for the GCC | packages, check they download, extract and can successfuly ''configure'' | and compile Ruby :-) Well, that is easy (Search and replace FTW :P). But if something stumps because GCC decides to roll over and die, I''m of no help. ;) | Did you use configure to generate the makefile? if so that means you | need MSYS installed too, don''t remember if Giovanni installed provides | it. I have a full MSYS environment with GCC4, so of course I used configure. :P P.S.: Sent to Rubyinstaller ML, too, in hope of a working subscription now... - -- Phillip Gawlowski Twitter: twitter.com/cynicalryan ~ - You know you''ve been hacking too long when... ...a fly lands on the screen and you try to pick it up with the mouse and put it in the onscreen trashcan! -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkgVEr4ACgkQbtAgaoJTgL/ABQCfWxP4elzegkVvmhnnClzVtH7h zrYAoIC8W7qpkcVDMJU98aADCEwJLe/Y =OYUE -----END PGP SIGNATURE-----
Luis Lavena
2008-Apr-28 00:38 UTC
[Rubyinstaller-devel] [Fwd: GCC 4.x on Windows (now with more statistics!)]
On Sun, Apr 27, 2008 at 8:56 PM, Phillip Gawlowski <cmdjackryan at googlemail.com> wrote:> -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Luis Lavena wrote: > | > | Yeah, mailman sometimes does weird things :-P > > Don''t get me started. :P > > > | > | Yes, as end user is more easy to install it, but if you take a look at > | what we do with the recipes, you will see we are actually downloading > | GCC and MSYS to actually create a development environment, and not > | forcing the developer already have one installed ;-) > > Well, yeah. But it''d be nice if you''d have checked if I had MSYS/MinGW > installed, like I do. :P >Oh sorry, you have GCC installed? ;-) Well, the idea was bootstrap ruby with the less tools installed possible. That''s why the recipes even have a pure ruby-unzip that download bsdtar :-D> > | Well, actually is more than a real benchmark. As example, the YARV > | bench only prove and excersice especific parts of the Ruby VM that has > | been optimized, but is not a real life test like PetStore is done for > | testing Rails performance. > > Yes and no. It it is a bit of number crunching, but doesn''t test things > like IO, compression, Arrays, etc. I''m not talking about benchmarks > showing off features. ;) >Is hard to compare IO processing against different platform and filesystems. I found that jRuby couldn''t get this script "compiled" due the multi return point... funny.> > | You don''t need a lot of GCC fu, just replace the locations for the GCC > | packages, check they download, extract and can successfuly ''configure'' > | and compile Ruby :-) > > Well, that is easy (Search and replace FTW :P). But if something stumps > because GCC decides to roll over and die, I''m of no help. ;) >Don''t worry, we are two :-D> | Did you use configure to generate the makefile? if so that means you > | need MSYS installed too, don''t remember if Giovanni installed provides > | it. > > I have a full MSYS environment with GCC4, so of course I used configure. :P >Just asked, since that mean is another pre-requisite to get you started with MinGW. The original idea was have a exerb "rake.exe" that let you get Ruby build from scratch. but anyway, the sandbox and the recipes are for developers wanting to contribute back to One-Click project, and not creating the nightmare like Gentoo did for packages :-P> P.S.: Sent to Rubyinstaller ML, too, in hope of a working subscription > now... >Yep, it seems is now in the list, great! :-) Regards and good nights! -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams