eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingminmax(a,b,c)Re: minmax(a,b,c)
  • Data: 2013-12-05 10:05:36
    Temat: Re: minmax(a,b,c)
    Od: firr <p...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    >
    > Jednak te skoki nie są takie straszne, czy kompilator
    >
    > za głupi? cmov to chyba już pentium pro.
    >
    >
    >
    >
    >
    > I też używają trzech instrukcji i dodatkowego rejestru
    >
    > na swap. Czyżby jednak było to szybsze niż xchg?
    >
    > Internet twierdzi, że nie.
    >
    > A CMPXCHG?
    >

    prawdopodobnie nie chodzi o ilosc cmp i movow
    (oraz o to czy xcchg jest szybsze od movow bo
    raczej na pewno jesli nie zostalo uzyte jest wolniejsze)
    tylko o ilosc skokow, gdyby pisac moja rozwinieta
    procedure w wersji 'bezposredniej' to byloby to
    cos takiego

    cmp a, b
    jg n1
    cmp a, c
    jg n2
    mov min, a
    cmp b, c
    jg n3
    mov max, c
    j exit
    n3: mov max, b
    j exit
    n2:
    mov min, c
    mov max, b
    j exit
    n1:
    cmp a, c
    jl n4
    mov max, a
    cmp b, c
    jl n5
    mov min, c
    j exit
    n5: mov min, b
    j exit
    n4:
    mov min, b
    mov max, c
    exit:

    5 skokow warunkowych, 5 skokow
    bezwarunkowych, czyli razem 10 skokow,
    5 porownan, 10 movow,

    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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: