Click here to Skip to main content
15,922,145 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Equal compare Pin
George_George14-Nov-07 1:01
George_George14-Nov-07 1:01 
GeneralRe: Equal compare Pin
JudyL_MD14-Nov-07 3:32
JudyL_MD14-Nov-07 3:32 
AnswerRe: Equal compare Pin
Bram van Kampen14-Nov-07 15:45
Bram van Kampen14-Nov-07 15:45 
GeneralRe: Equal compare Pin
George_George14-Nov-07 18:11
George_George14-Nov-07 18:11 
GeneralRe: Equal compare Pin
JudyL_MD15-Nov-07 2:57
JudyL_MD15-Nov-07 2:57 
GeneralRe: Equal compare Pin
George_George18-Nov-07 4:32
George_George18-Nov-07 4:32 
GeneralRe: Equal compare Pin
Bram van Kampen24-Nov-07 15:49
Bram van Kampen24-Nov-07 15:49 
GeneralRe: Equal compare Pin
Bram van Kampen13-Nov-07 13:00
Bram van Kampen13-Nov-07 13:00 
The processor only loads data at 4 byte boundaries. If the allignment is off, it transparently carries out internal shifts,
and loads the 32 bits in two goes.

If you compare Bytes, Words or Dwords alligned on a 4 byte boundary, there is in all cases one 32 bit wide fetch cycle for each operand. The Compare cycle is also identical, it generates all three possible results in the one go. The difference between them is which result gets stored in the Flag Register.

Now if you have a DWORD stored on a 2 byte boundary, that takes 2 fetch cycles. whereas a WORD stored on a 2 byte boundary takes only One fetch cycle. That means that a DWORD comparison can be slower than a WORD comparison, depending on allignment. You can fill in the rest yourself for the situation with Bytes.

BTW.
This is more a significant issue when you do things like RF.digital signal processing. If I were to do something like that, I would definitely not start with a pentium chip. Horses for Courses as they say.
It has never cropped up anywhere in my experience as an issue of major importance when writing CPP Windows/MFC Code, which is what this forum is about.

Then again, There's nothing wrong with being curious.

Regards, Smile | :) Smile | :)

Bram van Kampen

GeneralRe: Equal compare Pin
George_George14-Nov-07 1:03
George_George14-Nov-07 1:03 
GeneralRe: Equal compare Pin
Bram van Kampen14-Nov-07 15:32
Bram van Kampen14-Nov-07 15:32 
GeneralRe: Equal compare Pin
George_George14-Nov-07 18:19
George_George14-Nov-07 18:19 
GeneralRe: Equal compare Pin
Bram van Kampen17-Nov-07 16:47
Bram van Kampen17-Nov-07 16:47 
GeneralRe: Equal compare Pin
George_George18-Nov-07 1:24
George_George18-Nov-07 1:24 
GeneralRe: Equal compare Pin
Bram van Kampen22-Nov-07 16:48
Bram van Kampen22-Nov-07 16:48 
GeneralRe: Equal compare Pin
George_George22-Nov-07 20:04
George_George22-Nov-07 20:04 
GeneralRe: Equal compare Pin
Bram van Kampen24-Nov-07 15:43
Bram van Kampen24-Nov-07 15:43 
Questionheap Pin
George_George10-Nov-07 0:08
George_George10-Nov-07 0:08 
AnswerRe: heap Pin
cmk10-Nov-07 12:20
cmk10-Nov-07 12:20 
GeneralRe: heap Pin
George_George10-Nov-07 23:38
George_George10-Nov-07 23:38 
AnswerRe: heap Pin
Luc Pattyn10-Nov-07 15:31
sitebuilderLuc Pattyn10-Nov-07 15:31 
GeneralRe: heap Pin
George_George10-Nov-07 23:40
George_George10-Nov-07 23:40 
GeneralRe: heap Pin
Luc Pattyn11-Nov-07 3:18
sitebuilderLuc Pattyn11-Nov-07 3:18 
GeneralRe: heap Pin
George_George11-Nov-07 3:37
George_George11-Nov-07 3:37 
QuestionALT code Pin
V_shr9-Nov-07 23:29
V_shr9-Nov-07 23:29 
AnswerRe: ALT code Pin
dtr110-Nov-07 0:01
dtr110-Nov-07 0:01 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.