compiler dependent scores!

Discussion of chess software programming and technical issues.

Moderator: Ras

rreagan
Posts: 102
Joined: Sun Sep 09, 2007 6:32 am

Re: A complete and broken program

Post by rreagan »

wgarvin wrote:Burn a DVD from an ISO? Just to install a compiler and IDE? How can you not recognize that as ridiculous? Even people with internet connections have to jump through (minor) hoops to get registered; click some button on Microsoft's nasty website, fill in their e-mail address or whatever, wait for the e-mail to arrive, and paste the text from the e-mail into the installation. Which I might have been willing to do, if there was any way for my laptop to get to that nasty website in the first place. But downloading an entire ISO and burning a DVD? That's just ridiculous. Why can't I download a single multi-hundred-megabyte setup.exe and just install it without all the stupid registration stuff? I mean, if the tool is "free", then maybe Microsoft should let go of the stupid registration stuff. Of course it's not really "free", its "free with some strings attached". Their insistence on collecting the info and tracking all the people who install this thing, has ended up making it too difficult for me to install. Hell with that, I can't be bothered then.
I see it as a very small amount of work to get a nice piece of software without having to pay hundreds of dollars for it. I feel the same way about obtaining the Intel C++ compiler for Linux. I feel the same way about Linux itself. Whether it's a simple install or from a CD/DVD is really a very minor issue to me.

Besides, I bet part of Microsoft's thinking was that if you don't have an internet connection, then you're going to need some other means of getting the installation package to the computer (like burning it to a DVD). How else did you plan on getting the install to the computer without a network connection? Well, whatever the method, you could probably just extract the ISO (using free tools) and install from that.
wgarvin wrote:Only because I wasted several hours of my life trying to work around Microsoft's asinine restrictions. I'll never get that time back, and yes I'm bitter about it.
If you weren't able to accomplish this in several hours, then frankly, I think you have yourself to blame, not Microsoft.
wgarvin wrote:As a result I'd rather use some other freely available tool instead.
I'm in agreement here. I only use the Microsoft stuff to occassionally compile some finished code, to see whether it can generate faster code, and because I find that its assembly output is much more helpful than GCC (or maybe I don't know the right way in GCC). My "development environment" is bash, vi, and gcc, and after I installed VC++ Express, I found myself hating it for development because I had to move my hands off of the home row on the keyboard. I guess we all have our quirks :wink:
wgarvin
Posts: 838
Joined: Thu Jul 05, 2007 5:03 pm
Location: British Columbia, Canada

Re: A complete and broken program

Post by wgarvin »

rreagan wrote:Besides, I bet part of Microsoft's thinking was that if you don't have an internet connection, then you're going to need some other means of getting the installation package to the computer (like burning it to a DVD). How else did you plan on getting the install to the computer without a network connection? Well, whatever the method, you could probably just extract the ISO (using free tools) and install from that.
Actually I had no problem installing the software (though it did take over an hour to get it downloaded, copied and installed). The problem occurred when I then tried to use it. At that point it became clear that registering it without connecting that computer to the internet was not something Microsoft intended to allow. So they can collect their demographics information, or whatever. So now I can either download the ISO version and go find these free tools you speak of and figure out how to extract an ISO with them and install the software a second time, or I can just say, to hell with it. Frankly, that is way above my threshold for what I'm willing to do for hobby coding. I have other compilers and editors and IDEs installed that already work. If Microsoft wants me to use MSVC, all they have to do is make a one-click installer for it that doesn't require online registration.
rreagan wrote:
wgarvin wrote:Only because I wasted several hours of my life trying to work around Microsoft's asinine restrictions. I'll never get that time back, and yes I'm bitter about it.
If you weren't able to accomplish this in several hours, then frankly, I think you have yourself to blame, not Microsoft.
Accomplish what? Reverse engineer and crack their registration crap? Download the ISOs and go find out how to extract stuff from them? Why should I have to do that to use a "free" piece of software? Why can the ISO version be used without registration, while the normal version I downloaded and installed won't even run until I connect it directly over the net to a Microsoft server? It doesn't matter why, because I'm not going to waste time downloading and installing the other version, and I'm also not going to connect that machine to the internet. Instead I'm just going to use other tools that weren't so troublesome to install.
Aleks Peshkov
Posts: 892
Joined: Sun Nov 19, 2006 9:16 pm
Location: Russia

Re: A complete and broken program

Post by Aleks Peshkov »

rreagan wrote:I only use the Microsoft stuff to occassionally compile some finished code, to see whether it can generate faster code, and because I find that its assembly output is much more helpful than GCC (or maybe I don't know the right way in GCC).
I am too stupid to make Eclipse debugger work, so I profile GCC builds and debug Microsoft builds. This makes my chess code run 25% faster under GCC compiler then Microsoft.

Microsoft compiler greatly saves my time with:
Warning (level 1) C4717: recursive on all control paths, function will cause runtime stack overflow.

I wonder why GCC output do not have equivalent message and I have to runtime crash GCC build, rebuild under Microsoft and immediately get a point to my source code bug in Visual C++.
User avatar
abik
Posts: 823
Joined: Fri Dec 01, 2006 10:46 pm
Location: Mountain View, CA, USA
Full name: Aart Bik

Re: A complete and broken program

Post by abik »

As a quick follow-up on my own posting, the bug reported by James (thanks for that) now also has been confirmed by my former team mates for 10.x and a fix is in the making....
jswaff

Re: A complete and broken program

Post by jswaff »

Excellent! Thanks for sharing that.

--
James
rreagan
Posts: 102
Joined: Sun Sep 09, 2007 6:32 am

Re: A complete and broken program

Post by rreagan »

Aleks Peshkov wrote:...This makes my chess code run 25% faster under GCC compiler then Microsoft.
I have noticed recently that more and more code that I compile with GCC runs faster than the same code compiled with VC++. I even spend some time playing with the VC++ compiler options, but GCC usually produces faster code, even with just the basic -03 option. The same with the Intel compiler. Intel will sometimes produce the fastest code, but most of the time GCC produces the fastest code for me recently.

In some cases I have written lots of little wrapper classes in C++ for things that would normally just be an int. I'll make a class for Square, PieceType, PieceColor, and so on. GCC will inline and optimize almost all of the wrapper code away, and it runs only slightly slower (~5%) than the version that just used an int instead of a class. The VC++ compile of the same code blows up and runs 2-3 times slower than the GCC code. When I look at the assembly output, the VC++ version has a lot more instructions that seem unnecessary. I can't make any sense of why it produces such slow code in these cases.