eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingSzukam benchmarkówRe: Szukam benchmarków
  • X-Received: by 10.140.96.85 with SMTP id j79mr42586qge.2.1418909566180; Thu, 18 Dec
    2014 05:32:46 -0800 (PST)
    X-Received: by 10.140.96.85 with SMTP id j79mr42586qge.2.1418909566180; Thu, 18 Dec
    2014 05:32:46 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!
    h15no24999441igd.0!news-out.google.com!r1ni69qat.1!nntp.google.com!s7no8865029q
    ap.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Thu, 18 Dec 2014 05:32:46 -0800 (PST)
    In-Reply-To: <f...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=164.126.18.14;
    posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
    NNTP-Posting-Host: 164.126.18.14
    References: <lq5a1e$7rk$1@node1.news.atman.pl>
    <9...@g...com>
    <e...@g...com>
    <lqadk9$kg7$1@node1.news.atman.pl>
    <s...@4...com>
    <6...@g...com>
    <lqalcn$65n$1@node2.news.atman.pl>
    <3...@g...com>
    <4...@g...com>
    <f...@g...com>
    <m6qo5d$fqd$1@node1.news.atman.pl>
    <9...@g...com>
    <m6s9q0$btr$1@node2.news.atman.pl>
    <f...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <3...@g...com>
    Subject: Re: Szukam benchmarków
    From: firr <p...@g...com>
    Injection-Date: Thu, 18 Dec 2014 13:32:46 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:207236
    [ ukryj nagłówki ]

    W dniu czwartek, 18 grudnia 2014 14:12:28 UTC+1 użytkownik g...@g...com
    napisał:
    > W dniu środa, 17 grudnia 2014 17:08:33 UTC+1 użytkownik bartekltg napisał:
    > > > Jezeli dana procedura (taka jak np. liczenie sinusa) gwarantuje,
    > > > ze dla tego samego argumentu zawsze uzyskamy ten sam wynik, to nie
    > > > ma zadnego powodu, dla ktorego kompilator nie mialby sam tablicowac
    > > > wynikow. Nazywanie tego rodzaju optymalizacji "zmiana algorytmu"
    > > > wydaje sie jednak dosc pretensjonalne
    > >
    > > Żeby zmienił sposób liczenia algorytmu - nie ma problemu.
    > > Tak robi. Mi wszytko jedno, czy sin będzie policzony
    > > koprocesorem czy szeregiem pędzonym SSE.
    > > Natomiast zamiana na stablicowanie (nie w tym przypadku, tablica
    > > o gęstości precyzyjnej jak sin[x] z interpolacją
    > > liniową czy nawet kwadratową jest niepraktyczni duża ) powinna być
    > > świadomą decyzją programisty.
    > > Lepszym przykładem byłby dwumian newtona wielokrotnie liczony
    > > dla małych parametrów. Czasem trzymam sobie go w pamięci,
    > > ale czasem cache możę być znacznie przydatniejsze gdzie indziej,
    > > i te kilka pętli jest lepszym wyjściem.
    >
    > Tzn oczywiscie, jezeli zamiast liczyc wynik, dokonujemy interpolacji,
    > to tego rodzaju optymalizacja wydaje sie niedopuszczalna, chyba ze
    > programista dopusci ja explicite
    >
    > > > Poza tym, jezeli nie mialoby to wplywu na obserwowalne zachowanie programu,
    > > > to nie widze powodu, dla ktorego kompilator nie mialby w okreslonych
    > > > okolicznosciach zamieniac bubblesorta na qsorta (choc w tym kontekscie
    > > > oczywiscie stwierdzenie "zamiana algorytmu" wydaje sie jak najbardziej
    > > > na miejscu).
    > >
    > > A skąd kompilator ma wiedzieć, co mam na myśli.
    >
    > Kompilator moze wiedziec, jaka funkcje realizuje Twoja procedura,
    > i jezeli zna wydajniejsza procedure realizujaca te sama funkcje,
    > to moze ja zastapic
    >
    > > To, że potrzebuję akurat stabilnego sortowania będzie w stanie wyłapać?
    >
    > Jezeli Twoj algorytm sortuje stabilnie, to oczywiscie -- zeby procedura
    > wygenerowana przez kompilator realizowala te sama funkcje -- algorytm
    > wynikowy musialby rowniez sortowac stabilnie
    >
    > > Pamiętaj, że kompilator na zanalizować kod, a nie widzi intencje przez
    > > użycie sort czy stable_sort.
    > > A może zawsze ten algorytm sortuje jedynie malutkie tablice.
    > > Albo wstępnie posortowane (dla insertsorta).
    >
    > Oczywiscie, zdarzaja sie przypadki graniczne, dla ktorych
    > wydajnosc kodu zoptymalizowanego przez kompilator jest gorsza,
    > niz wydajnosci kodu niezoptymalizowanego
    >
    > > Kompilator musiałby zrozumieć nie tylko kod, ale i intencje
    > > piszącego, oraz to, czy jest baranem, czy taki a nie inny
    > > sposób przetwarzania danych wynika z jakiejś głębszej analizy.
    >
    > Dla kompilatora nie ma roznicy pomiedzy kodem a intencja
    > piszacego. (Oczywiscie z tego wzgledu jest lepiej, jezeli
    > jezyk programowania umozliwia programiscie dokladne wyrazanie
    > swoich intencji)
    >
    > > > Istnieja ciekawe metody dotyczace optymalizacji algorytmow,
    > > > opisane np. tutaj:
    > > > http://repository.readscheme.org/ftp/papers/topps/D-
    170.ps.gz
    > >
    > > Bardzo dokładnie się nie wczytałem, ale czy rozwiązywanie
    > > sporych NP zupełnych problemów grafowych podczas kompilacji
    > > nie jest chwilowo przesadą? ;-)
    >
    > To oczywiscie zalezy od sytuacji, ale czesto do rozwiazywania
    > NP-trudnych problemow istnieja dobre heurystyki dzialajace
    > wydajnie na typowych przypadkach
    >
    > > >>> jeszcze kombinowalem z rugowaniem castow i
    > > >>
    > > >> To samo. Każesz kompialtorowi liczyć danymi zmiennymi, musi nimi
    > > >> liczyć.
    > > >
    > > > Nie bardzo rozumiem te uwage, ale znow: jezeli kompilator moze w jakims
    > > > kontekscie dokonac czesciowej ewaluacji, to nie ma istotnego powodu, dla
    > > > ktorego nie mialby tego robic
    > >
    > > Masz dwa programy. Jeden liczy coś intami, drugi na float.
    > > Wyniki _NIE_ bądą identyczne, poza przypadkami, gdzie obłożymi
    > > warunkami praktycznie wszystko.
    >
    > Wyglada na to, ze wyinterpretowales z wypowiedzi firra duzo wiecej
    > niz ja :]
    > Ja nie wiem, czy on dokonywal jakichs interpolacji na sinusach. Byc
    > moze oryginalny algorytm byl napisany w taki sposob, ze sinusy byly
    > brane tylko z pewnego dyskretnego rownomiernie rozlozonego podzbioru
    > odcinka [0, 2pi) i bystry kompilator moglby teoretycznie to zauwazyc
    > i stablicowac wartosci sinusa?
    >
    > Dalej firr rzeczywiscie pisal cos o interpolacjach -- i zgodze sie,
    > ze tego rodzaju optymalizacja jest juz dla semantyki programu inwazyjna,
    > ale z Twojej odpowiedzi wynikalo, ze zastapienie wywolan funkcji
    > stablicowanymi wartosciami stanowi zmiane algorytmu. Oczywiscie mozna
    > dzielic wlos na czworo i dowodzic, ze tak jest, ale moim zdaniem jest
    > to jedna z prostszych nieinwazyjnych optymalizacj, jakie kompilator
    > moglby przeprowadzac.

    kolega b sobie wymyslil ze ja cos twierdze co mu sie nie podoba i zaczal nawet uzywac
    slowek (obok serji glupot
    rzekomo odnoszacych sie do tego co ja mowie) - teraz nie che mi sie nawet do tego
    odnosci bo to sa przygnebiajace durnoty na ktore nie mam po prostu czasu,

    nie odchodze na razie z tej grupy (dont panic;o) ale tego rodzaju rozmowy już sobie
    raczej daruje

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: