PlaneShift
Development => Development Deliberation => Topic started by: Induane on January 31, 2006, 07:40:43 pm
-
Well the subject says it all - are there any modifications I can make to the Jamconfig files to try compiling PS and CS with the free Intel Linux compiler?
-
Probably, look at the Jamconfig file ( I think it is ). That tells what compiler to use ( gcc/g++ ). Try changing stuff in there.
-
Might be best to add a check in the configure stuff to use the intel compiler if available... if it isn\'t automatically used anyway.
-
I installed the intel compiler but I did not make it the default compiler. CC still equals gcc 4.0 as usual. I will reread through the jamconfig files and see what I can get.
-
Yes, just ./configure and change these lines in your Jamconfig file:
CMD.CC ?= \"gcc\" ;
CMD.C++ ?= \"g++\" ;
Let us know how it works. I may take a look at the intel compiler myself, and see if I can add a check and configure flag for it. If it works well that is. :)
-
According to benchmarks intels free linux compiler produces approximately 30% more optimized code, and has support for compatibility with GNU compiler flags, linking, etc.. It also isn\'t perfect, though with a few minor patches you can compile your kernel with it, so its not bad. According to blogs, it apparantly will compile about 90% of free software, such as GIMP, BLENDER, the Linux Kernel, Firefox, etc.. it had some problems with a few libraries that i had never heard of though. I wanted to see if eventually I could get a full build of planeshift and its supporting programs, CS, CEL, and CAL3D, then do the same with the gnu compiler, and then benchmark them against each other.
-
But the Intel compiler is probably no good for binary distribution unfortunatly, due to the fact that they deliberatly degrade performance on AMD machines. But yes, for Intel processors it\'s the best compiler in existance. Will look forward to you getting benchmark results vs gcc. :)
-
According to some blogs it doesn\'t appear to degrade performance on AMD systems, it simply doesn\'t have optimization options for the AMD chips.
-
Originally posted by Induane
According to some blogs it doesn\'t appear to degrade performance on AMD systems, it simply doesn\'t have optimization options for the AMD chips.
That counts as degrading, seeing as those optimizations do work on AMD chips.
Of course, if performance is still better than gcc... there\'s no problem. :)
-
well when creating a binary for widespread use how many optomization options are you going to use anyways? You can\'t use P4 specific or AMD only, as that won\'t work on every system..
Anywyas modifying jamconfig is giving me gcc version errors... so it still thinks its using gcc for some reason. Is there a way to tell configure.in to look for icc and i++ instead of gcc and g++ ?
That way it will perhaps make a functional jamconfig file that would use intels compiler?
-
hmm, you\'d want to edit configure.ac... to add a check for icc. I\'ll take a quick look at it.
Edit: What are your \"$CC\" and \"$CXX\" vars?
-
brant@CoV:/mnt/data/Games/PlaneShift_CVS/planeshift$ cc --version
cc (GCC) 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
brant@CoV:/mnt/data/Games/PlaneShift_CVS/planeshift$ cxx
bash: cxx: command not found
brant@CoV:/mnt/data/Games/PlaneShift_CVS/planeshift$ c++
c++: no input files
brant@CoV:/mnt/data/Games/PlaneShift_CVS/planeshift$ c++ --version
c++ (GCC) 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
brant@CoV:/mnt/data/Games/PlaneShift_CVS/planeshift$
Or did you mean something else?
-
echo $CC
echo $CXX
-
brant@CoV:~$ echo $CC
brant@CoV:~$ echo $cc
brant@CoV:~$ echo $CXX
brant@CoV:~$ echo $cxx
none return any output on any of my linux systems... tried 4 desktops plus all my servers at work.
-
hmmm, no idea then. :) I couldn\'t get the intel compiler to install properly for me so I haven\'t been able to play around myself.
-
maybe I can try changing all symbolic links from gcc to link to icc hehe - might ruin something too... lol oh well.