Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Redundant_OR
생성일
3년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
21 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
164 행
복사
14 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
161 행
복사
## .NET 8.0.0 (42.42.42.42424), X64 RyuJIT AVX
## .NET 8.0.0 (42.42.42.42424), X64 RyuJIT AVX
```assembly
```assembly
; System.Text.Perf_Ascii.Equals_Chars()
; System.Text.Perf_Ascii.Equals_Chars()
sub rsp,28
sub rsp,28
mov r8,[rcx+20]
mov r8,[rcx+20]
test r8,r8
test r8,r8
je short M00_L04
je short M00_L04
lea rdx,[r8+10]
lea rdx,[r8+10]
mov eax,[r8+8]
mov eax,[r8+8]
M00_L00:
M00_L00:
mov r8,[rcx+28]
mov r8,[rcx+28]
test r8,r8
test r8,r8
je short M00_L02
je short M00_L02
lea rcx,[r8+10]
lea rcx,[r8+10]
mov r10d,[r8+8]
mov r10d,[r8+8]
M00_L01:
M00_L01:
mov [rsp+20],rcx
mov [rsp+20],rcx
cmp eax,r10d
cmp eax,r10d
jne short M00_L05
jne short M00_L05
mov r8d,r10d
mov r8d,r10d
mov rcx,rdx
mov rcx,rdx
mov rdx,[rsp+20]
mov rdx,[rsp+20]
복사
복사됨
복사
복사됨
call qword ptr [7FFB99B
C
E1A8]; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr)
call qword ptr [7FFB99B
F
E1A8]; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr)
jmp short M00_L03
jmp short M00_L03
M00_L02:
M00_L02:
xor ecx,ecx
xor ecx,ecx
xor r10d,r10d
xor r10d,r10d
jmp short M00_L01
jmp short M00_L01
M00_L03:
M00_L03:
add rsp,28
add rsp,28
ret
ret
M00_L04:
M00_L04:
xor edx,edx
xor edx,edx
xor eax,eax
xor eax,eax
jmp short M00_L00
jmp short M00_L00
M00_L05:
M00_L05:
xor eax,eax
xor eax,eax
jmp short M00_L03
jmp short M00_L03
; Total bytes of code 89
; Total bytes of code 89
```
```
```assembly
```assembly
; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr)
; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr)
sub rsp,98
sub rsp,98
vzeroupper
vzeroupper
cmp r8,8
cmp r8,8
jae short M01_L03
jae short M01_L03
xor eax,eax
xor eax,eax
test r8,r8
test r8,r8
jbe short M01_L01
jbe short M01_L01
M01_L00:
M01_L00:
movzx r10d,word ptr [rcx+rax*2]
movzx r10d,word ptr [rcx+rax*2]
movzx r9d,word ptr [rdx+rax*2]
movzx r9d,word ptr [rdx+rax*2]
cmp r10d,r9d
cmp r10d,r9d
jne near ptr M01_L10
jne near ptr M01_L10
복사
복사됨
복사
복사됨
or r10d,r9d
cmp r10d,7F
cmp r10d,7F
ja near ptr M01_L10
ja near ptr M01_L10
inc rax
inc rax
cmp rax,r8
cmp rax,r8
jb short M01_L00
jb short M01_L00
M01_L01:
M01_L01:
mov eax,1
mov eax,1
vzeroupper
vzeroupper
add rsp,98
add rsp,98
ret
ret
M01_L02:
M01_L02:
movzx eax,cl
movzx eax,cl
vzeroupper
vzeroupper
add rsp,98
add rsp,98
ret
ret
M01_L03:
M01_L03:
cmp r8,10
cmp r8,10
jb near ptr M01_L08
jb near ptr M01_L08
mov rax,rcx
mov rax,rcx
lea r10,[rdx+r8*2-20]
lea r10,[rdx+r8*2-20]
M01_L04:
M01_L04:
vmovups ymm0,[rax]
vmovups ymm0,[rax]
vmovups [rsp+60],ymm0
vmovups [rsp+60],ymm0
vmovups ymm0,[rdx]
vmovups ymm0,[rdx]
vmovups [rsp+40],ymm0
vmovups [rsp+40],ymm0
vmovups xmm0,[rsp+60]
vmovups xmm0,[rsp+60]
vpcmpeqw xmm0,xmm0,[rsp+40]
vpcmpeqw xmm0,xmm0,[rsp+40]
vpmovmskb r9d,xmm0
vpmovmskb r9d,xmm0
cmp r9d,0FFFF
cmp r9d,0FFFF
jne near ptr M01_L10
jne near ptr M01_L10
vmovups xmm0,[rsp+70]
vmovups xmm0,[rsp+70]
vpcmpeqw xmm0,xmm0,[rsp+50]
vpcmpeqw xmm0,xmm0,[rsp+50]
vpmovmskb r9d,xmm0
vpmovmskb r9d,xmm0
cmp r9d,0FFFF
cmp r9d,0FFFF
setne r9b
setne r9b
movzx r9d,r9b
movzx r9d,r9b
test r9d,r9d
test r9d,r9d
jne near ptr M01_L10
jne near ptr M01_L10
vmovups ymm0,[rsp+60]
vmovups ymm0,[rsp+60]
복사
복사됨
복사
복사됨
vptest ymm0,ymmword ptr [7FFB996
39B8
0]
vptest ymm0,ymmword ptr [7FFB996
69B4
0]
jne near ptr M01_L10
jne near ptr M01_L10
add rdx,20
add rdx,20
add rax,20
add rax,20
cmp rdx,r10
cmp rdx,r10
jbe short M01_L04
jbe short M01_L04
test r8b,0F
test r8b,0F
je near ptr M01_L01
je near ptr M01_L01
vmovups ymm0,[rcx+r8*2-20]
vmovups ymm0,[rcx+r8*2-20]
vmovups [rsp+20],ymm0
vmovups [rsp+20],ymm0
vmovups ymm0,[r10]
vmovups ymm0,[r10]
vmovups [rsp],ymm0
vmovups [rsp],ymm0
vmovups xmm0,[rsp+20]
vmovups xmm0,[rsp+20]
vpcmpeqw xmm0,xmm0,[rsp]
vpcmpeqw xmm0,xmm0,[rsp]
vpmovmskb ecx,xmm0
vpmovmskb ecx,xmm0
cmp ecx,0FFFF
cmp ecx,0FFFF
jne short M01_L05
jne short M01_L05
vmovups xmm0,[rsp+30]
vmovups xmm0,[rsp+30]
vpcmpeqw xmm0,xmm0,[rsp+10]
vpcmpeqw xmm0,xmm0,[rsp+10]
vpmovmskb r8d,xmm0
vpmovmskb r8d,xmm0
cmp r8d,0FFFF
cmp r8d,0FFFF
setne al
setne al
movzx eax,al
movzx eax,al
test eax,eax
test eax,eax
jne short M01_L05
jne short M01_L05
vmovups ymm0,[rsp+20]
vmovups ymm0,[rsp+20]
복사
복사됨
복사
복사됨
vptest ymm0,ymmword ptr [7FFB996
39B8
0]
vptest ymm0,ymmword ptr [7FFB996
69B4
0]
je short M01_L06
je short M01_L06
M01_L05:
M01_L05:
xor ecx,ecx
xor ecx,ecx
jmp short M01_L07
jmp short M01_L07
M01_L06:
M01_L06:
mov ecx,1
mov ecx,1
M01_L07:
M01_L07:
jmp near ptr M01_L02
jmp near ptr M01_L02
M01_L08:
M01_L08:
lea rax,[rcx+r8*2-10]
lea rax,[rcx+r8*2-10]
lea r10,[rdx+r8*2-10]
lea r10,[rdx+r8*2-10]
M01_L09:
M01_L09:
vmovups xmm0,[rcx]
vmovups xmm0,[rcx]
복사
복사됨
복사
복사됨
vmovups xmm1,[rdx]
vpcmpeqw xmm
1
,xmm0,
[rdx]
vpcmpeqw xmm
2
,xmm0,
xmm1
vpmovmskb r9d,xmm
1
vpmovmskb r9d,xmm
2
cmp r9d,0FFFF
cmp r9d,0FFFF
jne short M01_L10
jne short M01_L10
복사
복사됨
복사
복사됨
vpor xmm0,xmm0,xmm1
vptest xmm0,xmmword ptr [7FFB996
69B4
0]
vptest xmm0,xmmword ptr [7FFB996
39B8
0]
jne short M01_L10
jne short M01_L10
add rdx,10
add rdx,10
add rcx,10
add rcx,10
cmp rdx,r10
cmp rdx,r10
jbe short M01_L09
jbe short M01_L09
test r8b,7
test r8b,7
je near ptr M01_L01
je near ptr M01_L01
vmovups xmm0,[rax]
vmovups xmm0,[rax]
복사
복사됨
복사
복사됨
vmovups xmm1,[r10]
vpcmpeqw xmm
1
,xmm0,
[r10]
vpcmpeqw xmm
2
,xmm0,
xmm1
vpmovmskb eax,xmm
1
vpmovmskb eax,xmm
2
cmp eax,0FFFF
cmp eax,0FFFF
jne short M01_L10
jne short M01_L10
복사
복사됨
복사
복사됨
vpor xmm0,xmm0,xmm1
vptest xmm0,xmmword ptr [7FFB996
69B4
0]
vptest xmm0,xmmword ptr [7FFB996
39B8
0]
je near ptr M01_L01
je near ptr M01_L01
M01_L10:
M01_L10:
xor eax,eax
xor eax,eax
vzeroupper
vzeroupper
add rsp,98
add rsp,98
ret
ret
복사
복사됨
복사
복사됨
; Total bytes of code
483
; Total bytes of code
464
```
```
복사
복사됨
복사
복사됨
저장된 비교 결과
원본
파일 열기
## .NET 8.0.0 (42.42.42.42424), X64 RyuJIT AVX ```assembly ; System.Text.Perf_Ascii.Equals_Chars() sub rsp,28 mov r8,[rcx+20] test r8,r8 je short M00_L04 lea rdx,[r8+10] mov eax,[r8+8] M00_L00: mov r8,[rcx+28] test r8,r8 je short M00_L02 lea rcx,[r8+10] mov r10d,[r8+8] M00_L01: mov [rsp+20],rcx cmp eax,r10d jne short M00_L05 mov r8d,r10d mov rcx,rdx mov rdx,[rsp+20] call qword ptr [7FFB99BCE1A8]; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr) jmp short M00_L03 M00_L02: xor ecx,ecx xor r10d,r10d jmp short M00_L01 M00_L03: add rsp,28 ret M00_L04: xor edx,edx xor eax,eax jmp short M00_L00 M00_L05: xor eax,eax jmp short M00_L03 ; Total bytes of code 89 ``` ```assembly ; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr) sub rsp,98 vzeroupper cmp r8,8 jae short M01_L03 xor eax,eax test r8,r8 jbe short M01_L01 M01_L00: movzx r10d,word ptr [rcx+rax*2] movzx r9d,word ptr [rdx+rax*2] cmp r10d,r9d jne near ptr M01_L10 or r10d,r9d cmp r10d,7F ja near ptr M01_L10 inc rax cmp rax,r8 jb short M01_L00 M01_L01: mov eax,1 vzeroupper add rsp,98 ret M01_L02: movzx eax,cl vzeroupper add rsp,98 ret M01_L03: cmp r8,10 jb near ptr M01_L08 mov rax,rcx lea r10,[rdx+r8*2-20] M01_L04: vmovups ymm0,[rax] vmovups [rsp+60],ymm0 vmovups ymm0,[rdx] vmovups [rsp+40],ymm0 vmovups xmm0,[rsp+60] vpcmpeqw xmm0,xmm0,[rsp+40] vpmovmskb r9d,xmm0 cmp r9d,0FFFF jne near ptr M01_L10 vmovups xmm0,[rsp+70] vpcmpeqw xmm0,xmm0,[rsp+50] vpmovmskb r9d,xmm0 cmp r9d,0FFFF setne r9b movzx r9d,r9b test r9d,r9d jne near ptr M01_L10 vmovups ymm0,[rsp+60] vptest ymm0,ymmword ptr [7FFB99639B80] jne near ptr M01_L10 add rdx,20 add rax,20 cmp rdx,r10 jbe short M01_L04 test r8b,0F je near ptr M01_L01 vmovups ymm0,[rcx+r8*2-20] vmovups [rsp+20],ymm0 vmovups ymm0,[r10] vmovups [rsp],ymm0 vmovups xmm0,[rsp+20] vpcmpeqw xmm0,xmm0,[rsp] vpmovmskb ecx,xmm0 cmp ecx,0FFFF jne short M01_L05 vmovups xmm0,[rsp+30] vpcmpeqw xmm0,xmm0,[rsp+10] vpmovmskb r8d,xmm0 cmp r8d,0FFFF setne al movzx eax,al test eax,eax jne short M01_L05 vmovups ymm0,[rsp+20] vptest ymm0,ymmword ptr [7FFB99639B80] je short M01_L06 M01_L05: xor ecx,ecx jmp short M01_L07 M01_L06: mov ecx,1 M01_L07: jmp near ptr M01_L02 M01_L08: lea rax,[rcx+r8*2-10] lea r10,[rdx+r8*2-10] M01_L09: vmovups xmm0,[rcx] vmovups xmm1,[rdx] vpcmpeqw xmm2,xmm0,xmm1 vpmovmskb r9d,xmm2 cmp r9d,0FFFF jne short M01_L10 vpor xmm0,xmm0,xmm1 vptest xmm0,xmmword ptr [7FFB99639B80] jne short M01_L10 add rdx,10 add rcx,10 cmp rdx,r10 jbe short M01_L09 test r8b,7 je near ptr M01_L01 vmovups xmm0,[rax] vmovups xmm1,[r10] vpcmpeqw xmm2,xmm0,xmm1 vpmovmskb eax,xmm2 cmp eax,0FFFF jne short M01_L10 vpor xmm0,xmm0,xmm1 vptest xmm0,xmmword ptr [7FFB99639B80] je near ptr M01_L01 M01_L10: xor eax,eax vzeroupper add rsp,98 ret ; Total bytes of code 483 ```
수정본
파일 열기
## .NET 8.0.0 (42.42.42.42424), X64 RyuJIT AVX ```assembly ; System.Text.Perf_Ascii.Equals_Chars() sub rsp,28 mov r8,[rcx+20] test r8,r8 je short M00_L04 lea rdx,[r8+10] mov eax,[r8+8] M00_L00: mov r8,[rcx+28] test r8,r8 je short M00_L02 lea rcx,[r8+10] mov r10d,[r8+8] M00_L01: mov [rsp+20],rcx cmp eax,r10d jne short M00_L05 mov r8d,r10d mov rcx,rdx mov rdx,[rsp+20] call qword ptr [7FFB99BFE1A8]; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr) jmp short M00_L03 M00_L02: xor ecx,ecx xor r10d,r10d jmp short M00_L01 M00_L03: add rsp,28 ret M00_L04: xor edx,edx xor eax,eax jmp short M00_L00 M00_L05: xor eax,eax jmp short M00_L03 ; Total bytes of code 89 ``` ```assembly ; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr) sub rsp,98 vzeroupper cmp r8,8 jae short M01_L03 xor eax,eax test r8,r8 jbe short M01_L01 M01_L00: movzx r10d,word ptr [rcx+rax*2] movzx r9d,word ptr [rdx+rax*2] cmp r10d,r9d jne near ptr M01_L10 cmp r10d,7F ja near ptr M01_L10 inc rax cmp rax,r8 jb short M01_L00 M01_L01: mov eax,1 vzeroupper add rsp,98 ret M01_L02: movzx eax,cl vzeroupper add rsp,98 ret M01_L03: cmp r8,10 jb near ptr M01_L08 mov rax,rcx lea r10,[rdx+r8*2-20] M01_L04: vmovups ymm0,[rax] vmovups [rsp+60],ymm0 vmovups ymm0,[rdx] vmovups [rsp+40],ymm0 vmovups xmm0,[rsp+60] vpcmpeqw xmm0,xmm0,[rsp+40] vpmovmskb r9d,xmm0 cmp r9d,0FFFF jne near ptr M01_L10 vmovups xmm0,[rsp+70] vpcmpeqw xmm0,xmm0,[rsp+50] vpmovmskb r9d,xmm0 cmp r9d,0FFFF setne r9b movzx r9d,r9b test r9d,r9d jne near ptr M01_L10 vmovups ymm0,[rsp+60] vptest ymm0,ymmword ptr [7FFB99669B40] jne near ptr M01_L10 add rdx,20 add rax,20 cmp rdx,r10 jbe short M01_L04 test r8b,0F je near ptr M01_L01 vmovups ymm0,[rcx+r8*2-20] vmovups [rsp+20],ymm0 vmovups ymm0,[r10] vmovups [rsp],ymm0 vmovups xmm0,[rsp+20] vpcmpeqw xmm0,xmm0,[rsp] vpmovmskb ecx,xmm0 cmp ecx,0FFFF jne short M01_L05 vmovups xmm0,[rsp+30] vpcmpeqw xmm0,xmm0,[rsp+10] vpmovmskb r8d,xmm0 cmp r8d,0FFFF setne al movzx eax,al test eax,eax jne short M01_L05 vmovups ymm0,[rsp+20] vptest ymm0,ymmword ptr [7FFB99669B40] je short M01_L06 M01_L05: xor ecx,ecx jmp short M01_L07 M01_L06: mov ecx,1 M01_L07: jmp near ptr M01_L02 M01_L08: lea rax,[rcx+r8*2-10] lea r10,[rdx+r8*2-10] M01_L09: vmovups xmm0,[rcx] vpcmpeqw xmm1,xmm0,[rdx] vpmovmskb r9d,xmm1 cmp r9d,0FFFF jne short M01_L10 vptest xmm0,xmmword ptr [7FFB99669B40] jne short M01_L10 add rdx,10 add rcx,10 cmp rdx,r10 jbe short M01_L09 test r8b,7 je near ptr M01_L01 vmovups xmm0,[rax] vpcmpeqw xmm1,xmm0,[r10] vpmovmskb eax,xmm1 cmp eax,0FFFF jne short M01_L10 vptest xmm0,xmmword ptr [7FFB99669B40] je near ptr M01_L01 M01_L10: xor eax,eax vzeroupper add rsp,98 ret ; Total bytes of code 464 ```
비교하기