• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wydajniejsza wersja kodu.

Cloud VPS
0 głosów
182 wizyt
pytanie zadane 23 lutego 2019 w Assembler przez Huberti Gaduła (4,500 p.)

WItam, który z poniższych kodów będzie wydajniejszy?

Wersja 1:

	push	ebp
	mov	ebp, esp
	mov	eax, DWORD PTR _data$[ebp]
	mov	ecx, 15					
	cmp	eax, 10					
	cmova	eax, ecx
	mov	DWORD PTR _data$[ebp], eax
	mov	eax, DWORD PTR _data$[ebp+4]
	cmp	eax, 10					
	cmova	eax, ecx
	mov	DWORD PTR _data$[ebp+4], eax
	mov	eax, DWORD PTR _data$[ebp+8]
	cmp	eax, 10					
	cmova	eax, ecx
	mov	DWORD PTR _data$[ebp+8], eax
	mov	eax, DWORD PTR _data$[ebp+12]
	cmp	eax, 10					
	cmova	eax, ecx
	mov	DWORD PTR _data$[ebp+12], eax
	mov	eax, DWORD PTR ___$ReturnUdt$[ebp]
	movups	xmm0, XMMWORD PTR _data$[ebp]
	movups	XMMWORD PTR [eax], xmm0
	pop	ebp
	ret	20					

Wersja 2:

	push	ebp
	mov	ebp, esp
	mov	eax, DWORD PTR _data$[ebp]
	cmp	DWORD PTR [eax], 10			
	jbe	SHORT $LN2@changeByRe
	mov	DWORD PTR [eax], 15			
	cmp	DWORD PTR [eax+4], 10		
	jbe	SHORT $LN3@changeByRe
	mov	DWORD PTR [eax+4], 15		
	cmp	DWORD PTR [eax+8], 10			
	jbe	SHORT $LN4@changeByRe
	mov	DWORD PTR [eax+8], 15			
	cmp	DWORD PTR [eax+12], 10		
	jbe	SHORT $LN5@changeByRe
	mov	DWORD PTR [eax+12], 15		
	pop	ebp

 

3
komentarz 24 lutego 2019 przez adrian17 Mentor (354,700 p.)
edycja 24 lutego 2019 przez adrian17
A mierzyłeś?

Możliwe też że na różnych procesorach wyniki będą się mocno różniły.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+3 głosów
2 odpowiedzi 797 wizyt
0 głosów
3 odpowiedzi 664 wizyt
pytanie zadane 15 maja 2018 w C i C++ przez Haggins Nowicjusz (220 p.)
+2 głosów
5 odpowiedzi 1,095 wizyt
pytanie zadane 31 grudnia 2016 w C i C++ przez DamianW Bywalec (2,080 p.)

93,487 zapytań

142,420 odpowiedzi

322,772 komentarzy

62,905 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...