Author: Ulrich Tuerke
Date: 06:27:13 10/10/01
Go up one level in this thread
On October 10, 2001 at 08:38:43, Travers Waker wrote: >Hi. > >I recently read that using word-sized variables for a particular machine (e.g. a >32-bit int on an Intel PC CPU) yields faster code than using variables that are >not the size of a word. > >For example, I understood the article to be saying that if you needed an index, >i, to access an array, A[256], then it would yield faster code to define: > >int i; > >instead of: > >unsigned char i; > >even though the unsigend char is big enough to be able to index all the elements >of the array. I find this strange, especially since it seems to me that you >waste space in the memory caches when the most sinificant 3 bytes of the 32-bit >int are always going to be zero's. > >Can someone explain to me why using word-sized variables should be faster? I think that the article is right. AFAIK, when indexing, the machines usually use words. Thus, an index defined as a byte has to be "zero-extended" to word-size. This will require an additional machine instruction. However, I doubt very much that it is worthwhile worrying about these microscopic optimization effects. Uli > >Thanks > >Travers
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.