eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingszybki logarytmRe: szybki logarytm
  • X-Received: by 10.140.23.163 with SMTP id 32mr27122qgp.8.1406128207620; Wed, 23 Jul
    2014 08:10:07 -0700 (PDT)
    X-Received: by 10.140.23.163 with SMTP id 32mr27122qgp.8.1406128207620; Wed, 23 Jul
    2014 08:10:07 -0700 (PDT)
    Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!goblin3!goblin.stu.neva.ru!news.ripco.com!news.glorb.com!j15no2138370q
    aq.0!news-out.google.com!j6ni12934qas.0!nntp.google.com!v10no2072489qac.1!postn
    ews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Wed, 23 Jul 2014 08:10:07 -0700 (PDT)
    In-Reply-To: <lqogan$8ef$1@node1.news.atman.pl>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=37.209.146.209;
    posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
    NNTP-Posting-Host: 37.209.146.209
    References: <lqh403$k4t$1@node2.news.atman.pl> <lqllir$26e$1@node2.news.atman.pl>
    <9...@g...com>
    <lqogan$8ef$1@node1.news.atman.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <d...@g...com>
    Subject: Re: szybki logarytm
    From: firr <p...@g...com>
    Injection-Date: Wed, 23 Jul 2014 15:10:07 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:206409
    [ ukryj nagłówki ]

    W dniu środa, 23 lipca 2014 16:20:07 UTC+2 użytkownik bartekltg napisał:
    > On 23.07.2014 07:54, Wojciech Muła wrote:
    >
    > > On Tuesday, July 22, 2014 2:31:22 PM UTC+2, bartekltg wrote:
    >
    > >> Coś źle kompilowałem, czy logarytm jest lekko niedopieszczony?
    >
    > >> A może mój algorytm pomija coś potrzebnego do komfortowego
    >
    > >> uniwersalnego działania, co jest tak obciążające?
    >
    > >> Dodanie if (x<=0) return nan(""); praktycznie nic nie zmienia.
    >
    > >
    >
    > > Nie sprawdzasz klasy liczby, tzn. czy to NaN lub +/-Inf.
    >
    >
    >
    > Chyba to to. Dodając warunek isnormal(x) (i robiąc odpowiednią
    >
    > obsługę pozostałych liczb, ale to ma mniejsze znaczenie, bo testuje
    >
    > tylko na 'normalnych') wyniki są jak 24:28, niewiele, a jest bardo
    >
    > wrażliwe na ułożenie kolejności drabinki ifów, więc pewnie ręczna
    >
    > wersja działa ciut szybciej u mnie, ale niekoniecznie dla każdej
    >
    > maszyny.
    >
    >
    >
    > Wcześniej dodałem warunek na x>0 i to praktycznie nie zmieniło
    >
    > wyniku, stąd nie spodziewałem się takiej różnicy przy
    >
    > filtrach na pozostałe warunki.
    >
    >
    >
    >
    >
    > > Lecz poza tym funkcje biblioteczne pewnie korzystają z FPU,
    >
    > > na którym muszą używać dramatycznie wolnego rozkazu fly2x
    >
    > > (ok 100 cykli opóźnienia).
    >
    >
    >
    > Gdzieś w wątku podawałem firowi kod asm.
    >
    > http://pastebin.com/BZpVhHGb
    >
    > Nie używa fpu, też liczy jakąś funkcję wymierną. Ciąg działań
    >
    > mnożenia i dodawania, na koniec jedno divds.
    >
    >
    >
    nietrafione ify sa bardzo drogie (podobno okolo 30 razy drozsze niz trafione (jesli
    to by mialobyc ze 30 cykli to by moglo podchodzic pod koszt porowywalny z dzieleniem
    (ostatnio jak optymalizowalem rasteryzer to nie bralem tego pod uwage myslalem ze ify
    sa tansze i rozbilem na spore drzewo z rzedu 30ma galeziami aby zaoszczedzic na
    kopiowaniach ramu a widze ze chyba to byl blad ),

    pozatym skoki sa mniej ale tez drogie (pare cykli) dlatego takie procedury podobno
    nalezy przepisywac tak by bylo statystycznie jak najmniej nietrafionych ifow i by te
    trafione raczej kontynuowaly liniowo wykonanie a nie skakaly branchem gdzies w bok,

    (dla odmiany podobno wlasnie taki trafiony if
    bez skoku jest szybki)

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: