-
Data: 2013-12-05 13:18:19
Temat: Re: minmax(a,b,c)
Od: firr <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]>
> co prawda chyba raczej powinno sie liczyc nie sumarycznie a po danej sciezce
wykonania ale
>
> z tego co sie slyszy liczy sie tez chyba ilosc
>
> missów, tak czy owak ten kod ktory zminimalizowal
>
> ilosc skokow do 2 jak dla mnie akurat wyglada tutaj calkiem dobrze
>
>
>
> ciekawe czy dalo by sie to recznie np z uzyciem
>
> wlasnie bezifowców jeszcze to skompaktowac do jednego lub zero jumpow
ten kod wlasnie jest dosyc zoptymalizowany
//input ints eax ebx edx
// output eax: min, ebx:- max
cmp edx, eax
jg L1
swap edx, eax //here three movs for swap (*)
L1:
cmp ebx, edx
jg L2
cmp eax, ebx
cmovg eax, ebx
mov ebx, edx
L2:
sprawdzilem i sie zgadza, jest to dosyc
pouczajace jako przyklad jak mozna optymalizowac
takie coc
co do wersji z samych cmovow to ktos podal
przyklad
void compute_min_max(int &min, int &max, int x, int y, int z) {
min = x < y ? x : y;
max = x > y ? x : y;
min = min < z ? min : z;
max = max > z ? max : z;
}
It produces this assembly code (clang-500.2.76 with -O3):
.globl __Z15compute_min_maxRiS_iii
.align 4, 0x90
__Z15compute_min_maxRiS_iii: ## @_Z15compute_min_maxRiS_iii
.cfi_startproc
## BB#0:
pushq %rbp
Ltmp2:
.cfi_def_cfa_offset 16
Ltmp3:
.cfi_offset %rbp, -16
movq %rsp, %rbp
Ltmp4:
.cfi_def_cfa_register %rbp
cmpl %ecx, %edx
movl %ecx, %eax
cmovlel %edx, %eax
movl %eax, (%rdi)
cmovgel %edx, %ecx
movl %ecx, (%rsi)
movl (%rdi), %eax
cmpl %r8d, %eax
cmovgl %r8d, %eax
movl %eax, (%rdi)
movl (%rsi), %eax
cmpl %r8d, %eax
cmovgel %eax, %r8d
movl %r8d, (%rsi)
popq %rbp
ret
.cfi_endproc
ciezko powiedziec bez testu ktora wersja szybsza
- na razie nie moge przetestowac moze kiedys posniej
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
Najnowsze wątki
- 2025-12-27 pompa CO
- 2025-12-27 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-12-27 Ewakuacja ludności
- 2025-12-26 Gdańsk => ERP Microsoft Dynamics 365 Commerce Consultant <=
- 2025-12-26 Kraków => Konsultant Microsoft Dynamics 365 Finance <=
- 2025-12-26 Kraków => Microsoft Dynamics 365 Finance Consultant <=
- 2025-12-26 wymieniłem termostat
- 2025-12-26 Warszawa => Senior Backend Java Developer <=
- 2025-12-25 Finlandia przywraca swastykę
- 2025-12-25 Skuteczność wymiaru sprawiedliwości
- 2025-12-24 Felgi
- 2025-12-24 2,5 x więcej niż Li-Ion
- 2025-12-24 No i kolejny ograniczony
- 2025-12-24 Warszawa => Młodszy Specjalista ds. wsparcia sprzedaży <=
- 2025-12-24 New York Times zagrożeniem bezpieczeństwa narodowego USA - POTUS D. Trump




7 pułapek i okazji - zobacz co cię czeka podczas kupna mieszkania na wynajem