일단 내가 작성한 테스트 코드  링크부터 건다. http://ideone.com/94OeNh

나도 너랑 똑같이 65536 바이트 기준으로 하고 모든 테스트는 10,000번씩 시행 되었다.



[참고사항]

>>> TsuTsu는 내 결과고

>>> CodeSafer 는 너의 원본 코드에서 테스트를 위해서 약간 변경한것의 결과

>>> CodeSafer Remove MS_MEMCOPY 는 너의 원본소스에서 memcopy호출하는 부분을 제거한 결과임

Correct는 기본 memmove 의 결과와 비교해서 같은지의 여부를 나타내는 거임

MS_MEMCOPY_CALLED 는 해당 코드 내부에서 기본 memcpy를 실행했는지의 여부를 나타냄.



[ Test Case 0 32bit ]

Source Align : 0        Destination Align : 0

Test Count : 10000      Copy Length : 65536

>>> TsuTsu

        Correct : True          MS_MEMCOPY_CALLED : False

        Min Clock 32772         Average Clock 33892

>>> CodeSafer

        Correct : True          MS_MEMCOPY_CALLED : True

        Min Clock 28352         Average Clock 30219

>>> CodeSafer Remove MS_MEMCOPY

        Correct : True          MS_MEMCOPY_CALLED : False

        Min Clock 19920         Average Clock 21005


이 결과는 소스와 데스티네이션 모두 얼라인 맞춰진 상황에서의 결과 값이다.

>>> CodeSafer가 나보다 빠른 이유는 니 말대로 MS의 최적화 된 구현을 그대로 사용하고 니 코드는 아무것도 한게 없기 때문임.


>>> CodeSafer Remove MS_MEMCOPY 도 나보다 빠르다. 이건 니가 수동으로 루프를 풀었기 때문임.

니 코드 보니까 소스 얼라인이 안 벗어 날때는 무조건 비트 연산자 사용 안하고 그냥 루프만 풀어 놨더라.

제대로 할려면 소스가 안벗어나도 데스티네이션이 벗어 났으면 비트연산자를 사용하도록 구현 했어야지.

그리고 내가 비트 연산자 써서 읽기 쓰기 모두 얼라인 맞춰서 나보다 빠르게 작동하는거 보여 달랬지

언제 수동으로 루프 풀라고 함? 루프는 왜 쳐푼거임? 누가 할줄 몰라서 안하는줄 아냐? 존나 노가다라서 안하는 거지 병신아.







[ Test Case 1 32bit ]

Source Align : 0        Destination Align : 1

Test Count : 10000      Copy Length : 65536

>>> TsuTsu

        Correct : True          MS_MEMCOPY_CALLED : False

        Min Clock 35556         Average Clock 36212

>>> CodeSafer

        Correct : True          MS_MEMCOPY_CALLED : True

        Min Clock 44024         Average Clock 45711

>>> CodeSafer Remove MS_MEMCOPY

        Correct : True          MS_MEMCOPY_CALLED : False

        Min Clock 20332         Average Clock 21043



[ Test Case 2 32bit ]

Source Align : 0        Destination Align : 2

Test Count : 10000      Copy Length : 65536

>>> TsuTsu

        Correct : True          MS_MEMCOPY_CALLED : False

        Min Clock 35576         Average Clock 35854

>>> CodeSafer

        Correct : True          MS_MEMCOPY_CALLED : True

        Min Clock 43936         Average Clock 47848

>>> CodeSafer Remove MS_MEMCOPY

        Correct : True          MS_MEMCOPY_CALLED : False

        Min Clock 20428         Average Clock 21314



위의 두 테스트 케이스는 데스티네이션 얼라인만 어긋난 경우다.

여전히 니가 루프를 수동으로 풀었기 때문에 빠른 경우이다.







[ Test Case 3 32bit ]

Source Align : 1        Destination Align : 0

Test Count : 10000      Copy Length : 65536

>>> TsuTsu

        Correct : True          MS_MEMCOPY_CALLED : False

        Min Clock 40612         Average Clock 42742

>>> CodeSafer

        Correct : True          MS_MEMCOPY_CALLED : False

        Min Clock 43060         Average Clock 43624

>>> CodeSafer Remove MS_MEMCOPY

        Correct : True          MS_MEMCOPY_CALLED : False

        Min Clock 43096         Average Clock 43410


자 이번에는 소스 얼라인만 벗어난 경우를 보자. 니 소스 보니까 소스 얼라인 1벗어 날때 비트연산자를 사용하는데 까지구현해 놓았던데

근데 결과는? 나보다 느린데?

소스 얼라인이 2이상 벗어나는 경우는 니가 아직 구현 안해서 Correcnt = false로 나오더라.





[ Test Case 4 32bit ]

Source Align : 1        Destination Align : 1

Test Count : 10000      Copy Length : 65536

>>> TsuTsu

        Correct : True          MS_MEMCOPY_CALLED : False

        Min Clock 32788         Average Clock 32919

>>> CodeSafer

        Correct : True          MS_MEMCOPY_CALLED : True

        Min Clock 52756         Average Clock 54540

>>> CodeSafer Remove MS_MEMCOPY

        Correct : False         MS_MEMCOPY_CALLED : False

        Min Clock 43320         Average Clock 44156



[ Test Case 5 32bit ]

Source Align : 1        Destination Align : 2

Test Count : 10000      Copy Length : 65536

>>> TsuTsu

        Correct : True          MS_MEMCOPY_CALLED : False

        Min Clock 35588         Average Clock 35977

>>> CodeSafer

        Correct : True          MS_MEMCOPY_CALLED : True

        Min Clock 67616         Average Clock 71715

>>> CodeSafer Remove MS_MEMCOPY

        Correct : False         MS_MEMCOPY_CALLED : False

        Min Clock 43460         Average Clock 44168


그리고 이 두 결과는 둘다 얼라인 벗어난 경우임.

여전히 니가 쳐 느리고 심지어 Correct=False임

>>> CodeSafer 의 Correct = True이지만 이건 그냥 기본 memcpy호출된 결과 이므로 인정 안함.







너는 http://gall.dcinside.com/board/view/?id=programming&no=504885&page=2 이 글에서

1,2번 결과로 소스가 얼라인된 상태를 테스트 하고 결과를 올렸음.

이때는 비트 연산자는 쳐 쓰지도 않고 니가 수동으로 루프를 쳐 풀었으니까 당연히 니가 더 빠름.

3번에서 64비트 환경에서 소스와 데스티네이션 모두 벗어난 경우 니가 더 빠르다고 했는데. 과연 그럴까?

나도 64비트에서 실험해봄.



[ Test Case 6 64bit ]

Source Align : 1        Destination Align : 2

Test Count : 10000      Copy Length : 65536

>>> TsuTsu

        Correct : True          MS_MEMCOPY_CALLED : False

        Min Clock 36372         Average Clock 36710

>>> CodeSafer

        Correct : True          MS_MEMCOPY_CALLED : True

        Min Clock 31672         Average Clock 32459

>>> CodeSafer Remove MS_MEMCOPY

        Correct : False         MS_MEMCOPY_CALLED : False

        Min Clock 21732         Average Clock 21995


병신 Correct : False  를 봐라 니꺼는 제대로된 결과도 쳐 못내고 있음. ㅋㅋㅋㅋㅋ


제대로 작동하는지 확인도 안해보고 어디서 사람을 호구로 쳐보고 속일려고 드냐???







[네줄 요약]

1. 내가 코세에게 비트연산자를 사용하여 소스와 데스티네이션 두개다 얼라인 맞춰서 나보다 더 더 빠른거 보여 달라고함.

2. 하라는건 안하고 루프를 손으로 쳐풀고 앉아있음.

3. 비트 연산자 적용 되는 부분은 나보다 쳐 느림.

4. 자기가 더 빠르다고 주장하는 64비트에서는 같은 조건으로 테스트 했는데 제대로 작동조차 안함. 그리고 32비트에서도 제대로 결과 못 내놓음.

나를 호구로 보고 속이려고 들었거나. 애 자체가 멍청한듯.