http://ideone.com/58vsN0


일단 windows 에선 주소보정이 있어보이네. 기본 코드로도 오류를 만들 수 없었다. (멀라 내꺼가 64bit 에서 wow 돌려서 그런건지~ 알수가 엄셔~)

다른 OS 에선 메모리 오류가 있을 수 있으니깐 비트 연산이나 intrinsic 으로 처리해 줘야 된다.


vc++ memmove 는 내부적으로 SSE instruction 을 쓰고 있기 때문에 순수 포인터 연산으로 이기는건 좀 불가능에 가깝다.

vc++ memmove 의 단점은 작은 용량 전송엔 취약하다는거지.


아래는 65536 바이트 전송을 기준으로 한 성능비교.


1. 32bit src 얼라인 상태 + tgt 얼라인 되지 않은 상태



2. 64bit src 얼라인 상태 + tgt 얼라인 되지 않은 상태



3. 64bit src tgt 둘 다 얼라인 되지 않은 상태 (비트 연산을 해도 ㅉㅉ보다 빠름)



아직 최적화를 덜해서 뭐 그저 그래 ㅡ, .ㅡ


여친이 땡깡부려서 나가봄~


어차피 memmove 이기기 힘든거 코드 완료하기 무지 귀찮다.