if (a[i] & 1)

018B1725  mov         eax,dword ptr [ebp-1F4h]  

018B172B  mov         ecx,dword ptr [this]  

018B172E  mov         edx,dword ptr [ecx+eax*4+11F0h]  

018B1735  and         edx,1  

018B1738  je          CTestDlg::OnPaint+63Fh (018B173Fh)  



if (a[i] == 0)

00F61725  mov         eax,dword ptr [ebp-1F4h]  

00F6172B  mov         ecx,dword ptr [this]  

00F6172E  cmp         dword ptr [ecx+eax*4+11F0h],0  

00F61736  jne         CTestDlg::OnPaint+63Dh (0F6173Dh)  



if (a[i] == 1)

012A1725  mov         eax,dword ptr [ebp-1F4h]  

012A172B  mov         ecx,dword ptr [this]  

012A172E  cmp         dword ptr [ecx+eax*4+11F0h],1  

012A1736  jne         CTestDlg::OnPaint+63Dh (012A173Dh) 


1. 어셈블리 명령어 숫자가 적으면 연산속도가 더 빠른거임?


2. 비트연산자가 비교연산자보다 빠르다는데 맞음? 어셈블리 연산은 비트가 한번 더 하던데


3. 0과의 연산은 CPU에서 따로 처리하는게 있어서 더 빠르다는데 어셈블리에선 차이점이 없어보임. CPU내부에서 처리하는거니까 어셈블리에선 안보이는게 당연?