We need Use another Compiler !

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

Post Reply
bratao
Posts: 57
Joined: Thu Dec 02, 2004 12:23 pm

We need Use another Compiler !

Post by bratao »

Hi all, im a developer ,and Reactos Use the Gcc to compile,
I Not test the New gcc 4.0 ,
But with my tests with Gcc 3.4 x Intel Compiler X Visual Studio 2003 i see that with a normal hash application ,compiled with all Optimizeders On,
Gcc applications are 51 % slow than Visual Studio, and 120% slow than Intel Complier.

I cant imagine this results in A bigger Project like Reactos.

The Vs its harder to port, but thats good if we can compile it With the Intel Compiler, We can USe the dozen Optimizers funcions of it.
And The Intel Compiler are Like Gcc, very strict to C.
we can get a Huge speed Boost
Asraniel
Posts: 22
Joined: Wed Dec 01, 2004 6:06 pm

Post by Asraniel »

and from where does linux get its speed?
SirTalon
Posts: 67
Joined: Sun Nov 28, 2004 8:53 pm

Post by SirTalon »

The reason GCC is used over the other compilers is it is OSS. Also in the past there have been issues with the licensing of the Visual C compiler (which I think wouldn't effect most software, but I think it would in the case of an operating system). In the past I had installed the Intel compiler, but when I tried to compile something it wanted me to install a license for it (idk what terms the license say).

Also with version 4 of GCC a framework has been implemented that will make it much easier for people to write optimizations for different code.

Also does the Intel compiler work at all on non-intel processors (like AMD, Via, or Transmeta)? Also AFAIK the Intel compiler is only available on the x86 platform (possibly x86_64).

That means that GCC is the only option for non-x86 platforms.
"People do have a real life." -- w3seek

Guess that means I'm not a person :-D
oiaohm
Posts: 1322
Joined: Sun Dec 12, 2004 8:40 am

gcc 4.0.0 looks to be out for a bit.

Post by oiaohm »

and from where does linux get its speed?
Not just the complier.

Found a internal complier bug either they way I built gcc 4.0.0 as cross complier or its a bug it will not complie the disk access.

But gcc 4.0.0 is still worth running over the reactos code it found mountains of missed errors that gcc did not detect before version 4.

Gcc applications are 51 % slow than Visual Studio, and 120% slow than Intel Complier.

Yep normal perfectly normal. Reason Gcc still builds from the default i386 in most cases. Less -mtune or -march is passed depending on the gcc.

Visual Studio and Intel Complier defaults to i686. On the linux kernel it is not 120% but 20% between gcc and Intel Compler ie the Intel Complier is 20% faster. Basicly Visual Studio is slow at everything bar C++.

Please note you also have to be carefull with Gcc Optimizers some Optimize for speed some for Size mix them up you get a fight and bad code and slow.
Linuxhippy
Posts: 39
Joined: Fri Dec 03, 2004 2:24 pm

Hmm...

Post by Linuxhippy »

Gcc applications are 51 % slow than Visual Studio, and 120% slow than Intel Complier.
Thats completly nonsence. Intel and MS-VC are better compilers (in terms of output quality), but only somewhere between 5-15% overall performance (except some highly tuned algorythmic code), GCC offers tons of benefits over there compilers, not to mention the fact it is free!

lg Clemens
Phalanx
Posts: 360
Joined: Sun Dec 19, 2004 12:42 am
Location: Australia

Post by Phalanx »

And it also changes if your compiling C, or C++ and which which parts of the languages you are using.
GvG
Posts: 499
Joined: Mon Nov 22, 2004 10:50 pm
Location: The Netherlands

Post by GvG »

We should learn from the BitKeeper fiasco to not depend on non-free tools. If someone wants to port the ReactOS source to Visual Studio or the Intel compiler, go ahead, but don't remove the possibility to compile with GCC, that's simply unacceptable.
Stead
Posts: 163
Joined: Mon Nov 29, 2004 3:00 pm

Post by Stead »

i always thought the intel compiler was free, anyway i know it isn't now..but...

..i know this may make some amd people angry at this suggestion, but would it be worth asking intel for a compiler, i know that may sound crazy, but they support linux, and more and more people are apparently flocking to linux, if they could say they support a free alternative to the windows platform, it could benifit them, although i highly doubt it as i'm sure intel and microsoft are best friends, but u never know!

if it does give the 20% increase it claims to, or others have claimed it to, 20% increase in speed to me seems like a hell of a lot, if my car was 20% faster i'd be a lot happier with it! :P

it states that you can use the linux compiler free of charge for non-profit use, or for research providing you are not allocated funds for your work, and it also says supporting open source development, although it implies linux, but if they do truely support open source, who knows? please don't flame me :? its just an idea

Prahaps Mr Filby himself should flame me after everyone else does! :lol:
GvG
Posts: 499
Joined: Mon Nov 22, 2004 10:50 pm
Location: The Netherlands

Post by GvG »

Well, there's free and free.... If I understand correctly, you can use the Intel compiler for free for open source projects ("free as in beer"), but the source code is not available ("free as in speech"). This is the same situation that Linux had with BitKeeper. Then the owner of the BitKeeper stuff got angry at some Linux developers and decided to revoke the license, meaning Linus could no longer use BitKeeper. If BitKeeper had been free as in speech, this would have been impossible.
Don't get me wrong, I have no objections to adaptions of ReactOS for other compilers besides GCC, but I feel strongly that the primary compiler should remain GCC, 'cause it's the only "free as in speech" compiler around.
Alex_Ionescu
Developer
Posts: 34
Joined: Thu Apr 07, 2005 12:49 am

Post by Alex_Ionescu »

Agreed, we cannot strip out GCC functionality, but having MSVC ready is on my to-do list. This needs the new headers (Which I'm working on) to be ready as well, and a lot of code to be fixed.

Nevertheless, I'm sure you did your testing with the default gcc options, which suck. I've enabled some additionall options in our makefile, and the code is now much faster and smaller, using the proper gcc optimization settings. Sure, it's not as fast compiling as msvc, and probably still a bit slower, but for now it's all we've got.

Since MSVC compiler is free (as in beer) and works on Linux/Windows/ReactOS, it is one of my priorities this summer to have the kernel build with it.

Best regards,
Alex Ionescu
Kernel Developer, ReactOS
Post Reply

Who is online

Users browsing this forum: Yandex [Bot] and 27 guests