Jump to content
Sign in to follow this  
yarex

c++ Compiler

Recommended Posts

I'd like to know if possible, what compiler is used to compile arma source code?

Is it visual studio (microsoft compiler)?

Share this post


Link to post
Share on other sites

I was just wondering, if they did not try to use intels compiler, that is way better them the one from microsoft for intel processors.

(what would be performance gain over the one from visual studio)

Intels compiler can be included into visual studio and from code side should be compatible.

Share this post


Link to post
Share on other sites
I was just wondering, if they did not try to use intels compiler, that is way better them the one from microsoft for intel processors.

(what would be performance gain over the one from visual studio)

Intels compiler can be included into visual studio and from code side should be compatible.

No offense, but if it was so simple to get better performance, I'm sure they might have tried already.

Share this post


Link to post
Share on other sites

Actually the Microsoft Compiler is the best one on Windows and I fail to see how the intel one makes it better.

Does it some super awesome optimization we don't know about?

Please do elaborate, as a hobby C++ Programmer that uses the VC++ I am certainly interested :).

Share this post


Link to post
Share on other sites

Simply because Intel compiler have a better usage of Intel processors special instructions (MMX etc) which I guess are not enough documented for Microsoft (or others) to achieved it. But one can also expect Intel compiler to have lower performance on AMD processors suprisingly :rolleyes:

Share this post


Link to post
Share on other sites
Simply because Intel compiler have a better usage of Intel processors special instructions (MMX etc) which I guess are not enough documented for Microsoft (or others) to achieved it. But one can also expect Intel compiler to have lower performance on AMD processors suprisingly :rolleyes:

That is what i mentioned.

If i have to simplyfy, intels compiler makes better use of intels processor instructions sets and produces more optimized = faster code for intels processors family then the one from microsoft.

Disvantage is, that for AMDs processors it switches to default settings, even if instructions are supported - but there is way around for that case too.

I was just wondering what would be performance difference in case arma3 was compiled using intels compiler, because i'll bet, that in game that includes so much physics and calculations the difference could be measurable.

You can google advantages easily.

Edited by yarex

Share this post


Link to post
Share on other sites
Simply because Intel compiler have a better usage of Intel processors special instructions (MMX etc) which I guess are not enough documented for Microsoft (or others) to achieved it. But one can also expect Intel compiler to have lower performance on AMD processors suprisingly :rolleyes:

MMX, SSE, and SSE2 Support exists in MSVC since Visual Studio 2005.

Share this post


Link to post
Share on other sites
MMX, SSE, and SSE2 Support exists in MSVC since Visual Studio 2005.

But not SSE3, SSSE3 or SSE4. He is kind of right, Intel C++ Compiler is really good, especially if you want to target Intel CPUs. I personally don't think it would be worth the trouble tho.. yet I would like to see the results :)

Share this post


Link to post
Share on other sites

There is more, then just better support of latest instruction sets, compiler is doing much better job at auto-parallelizing loop (distributing single loops over multiple threads automatically) than any other compiler - and in some cases that can make hell of difference and there are more advantages......

Intel C++ compilers are also source and binary compatible with Microsoft Visual C++

If the code is computationaly expensive, with aggresive compiler settings speed improvement can be up to 20x faster then compiler from microsoft. (but in that case compilation can take hours)

Based on statistics, on average is code faster by 10%, so its really suitable for time critical operations.

Also Intel C++ compilers are also source and binary compatible with Microsoft Visual C++ - that quote from intels website is valid - i tested it using my local VS2010.

More can be read here:

http://software.intel.com/en-us/intel-parallel-studio-xe/

and

http://programmers.stackexchange.com/questions/151375/are-intel-compilers-really-better-than-the-microsoft-ones

I dont want to make any advertisment here, but devs could check Intel Parallel Studio XE 2013.

Compiling with perf. settings is easier way to squeeze more performance from game before code logic optimizations and i believe devs should give it try atleast for testing purposes.

Edited by yarex

Share this post


Link to post
Share on other sites

Suma (Ondrej Spanel, BI lead developer) actually made a statement on this topic a while ago:

These questions are for Ondrej Spanel and the other programmers.

1.Does ARMA 2 make use of SSE 4.1 code?

2.Was ARMA 2 code compiled with the Intel compiler?

3.Will you add support in the future for AVX, FMA4, XOP insructions? If not why?

4.Would re-compiling mean starting everything from scratch ?

Thank you, hope to hear from you guys soon!!!

I hope some of the DEVS see my questions...

The answer to all your questions is:

No.

The answer to the "why" part is:

Because it makes no sense. The speed gain would be only marginal, if any.

Source thread.

Share this post


Link to post
Share on other sites

well the truth is the game should have been written in Fortran :eek:....but BIS wanted to take short cuts :p

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×