Author: Aaron Gordon
Date: 14:56:42 01/19/05
Go up one level in this thread
On January 19, 2005 at 17:46:32, Dann Corbit wrote: >On January 19, 2005 at 17:27:57, Aaron Gordon wrote: > >>On January 19, 2005 at 11:55:43, Rémi Coulom wrote: >> >>>Hi, >>> >>>I am porting my chess program to 64 bit on an AMD64 Athlon processor. I have >>>noticed that, with gcc, sizeof(int)=4. I would have expected sizeof(int)=8. On >>>32-bit platforms, 32-bit variables are faster than 16-bit variables. I wonder if >>>64-bit variables are faster than 32-bit variables on 64-bit machines. I have >>>made a few experiments and did not notice much difference. >>> >>>Rémi >> >>Try using longs instead of ints. I have a DEC Alpha 21164 here (64bit also), and >>wondered the same thing. Here is the output I got when running sizeof(). >> >>short = 2 (16 bits) >>int = 4 (32 bits) >>long = 8 (64 bits) >>long long = 8 (64 bits) >>float = 4 (32 bits) >>double = 8 (64 bits) >> >>On my Athlon XP, as expected, I get: >>short = 2 (16 bits) >>int = 4 (32 bits) >>long = 4 (32 bits) >>long long = 8 (64 bits) >>float = 4 (32 bits) >>double = 8 (64 bits) > >Depends on the compiler you use too. > >A compiler vendor can use any type they want for int, as long as it will hold >+/- 32767 or larger. The only ones I've tested so far have been GCC (DGJPP and MingW), the Intel C compiler, MSVC and the Compaq C compiler (for the Alpha). Though I think MSVC/Intel C (windows) uses __int64 instead of long/longlong. So far though it seems like all the linux compilers treat a long as 32bits unless you have a 64bit cpu & 64bit compiler. I'm guessing/hoping it would be alright to just use longs from now on and if you have a 64bit cpu you'll just get the benefit from a recompile. Just wishful thinking perhaps ;)
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.