eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programminggaszcz if-ow kontra wywolanie przez wskaznik/wirtualne › Re: gaszcz if-ow kontra wywolanie przez wskaznik/wirtualne
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!lub
    lin.pl!uw.edu.pl!newsgate.cistron.nl!newsgate.news.xs4all.nl!news2.euro.net!fee
    der.news-service.com!postnews.google.com!z19g2000yqk.googlegroups.com!not-for-m
    ail
    From: bartekltg <b...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: gaszcz if-ow kontra wywolanie przez wskaznik/wirtualne
    Date: Sun, 21 Feb 2010 12:26:44 -0800 (PST)
    Organization: http://groups.google.com
    Lines: 74
    Message-ID: <a...@z...googlegroups.com>
    References: <3...@k...googlegroups.com>
    <hlq9gr$7bh$1@news.mixmin.net>
    <5...@1...googlegroups.com>
    <8...@c...googlegroups.com>
    <4...@z...googlegroups.com>
    NNTP-Posting-Host: 82.210.189.188
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1266784004 26357 127.0.0.1 (21 Feb 2010 20:26:44 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Sun, 21 Feb 2010 20:26:44 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: z19g2000yqk.googlegroups.com; posting-host=82.210.189.188;
    posting-account=CvUQzQoAAABvVQmR58QmR6N4Cev1qhAS
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2)
    Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729),gzip(gfe),gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.comp.programming:185018
    [ ukryj nagłówki ]

    On 21 Lut, 20:33, Mariusz Marszałkowski <m...@g...com> wrote:
    > On 21 Lut, 19:42, bartekltg <b...@g...com> wrote:> On 21 Lut, 17:35, Mariusz
    Marszałkowski <m...@g...com> wrote:
    >
    > > > Skad wiedziec (bez zmudnych testow i pomiaru czasu) jakie wybrac
    > > > elementy skladniowe?
    >
    > > Ogolnie nie da sie;)
    >
    > > 1. Miec troche doswiadczenia i szczescia, jak widac na zalaczonym
    > >   obrazku, u mnie wsk dziala szybciej, u Ciebie if[*]
    >
    > Niestety to świeta racja w językach wysokiego poziomu

    To chyba zalezy od kompilatora.
    Puscilem program w g++(qtcreator) i okazal sie znacznie szybszy.
    Za bardzo, mimo gorszego (na niewprawne oko) kodu asm.

    Sledzctwo ruszylo.. Wnioski: okolo polowy mocy zzera nam funkcja
    rand:)

    Tu wyniki gdzie r bylo odczytywane z tabelki wczesniej wypelnionej
    liczbami losowymi, dla 100000000 powtorzen (tebelki byly znacznie
    mniejsze, prosta sztuczka, nieistotne chwilowo).

    G++ if= 3187 wsk= 3343 cas= 3109 ifm= 3625
    VC++ if= 2984 wsk= 2610 cas= 2796 ifm= 3359

    procentowo w ramach konkretnego kmpilatora
    102.5 107.5 100.0 116.6

    114.3 100.0 107.1 128.7

    Rzeczywiscie, gcc znacznie gorzej radzi sobie
    w przypadku wskaznikowym.

    A co tak naprawde chcailem powiedziec..
    okazalo sie, ze i tak najstotniejszy wklad w czas wykonania
    mial random. Blisko 40% w g++, ponad polowa w VC,
    i to tam mozna duzo zaoszczedzic.


    > > 3. Olac takie dylematy gdy wazy sie 0.3% czasu, moze lepiej
    > > posiedziec nad lepszym algorytmem. Bawisz sie w jakiegos rodzaju
    > > datamining, tam sie duzo da pokombinowac zjanac dane (a nie znajac
    > > ich nic nie wyjdzie, ciezko tam wymyslyc metody ogolne).
    >
    > To mniej/więcej wygląda tak. Jest program ktory rozwiazuje
    > kombinatoryczne
    > problem o wykladniczej zlozonosci.
    [cut]

    Tym bardziej spodziewalbym sie koncentrowania sil na pomyslach,
    dobrych heurystykach i kombinowaniu, co jest istotne i najczesciej
    dziala (czyli to co przed chwila opisales) a nie silowanie sie
    z hakerstwem:)
    Jak widac z pomiarow, jakbys nie napisal zmianiajac kompilator
    dostajesz lepszy wynik:/


    > > [*] a w te 20% na rzecz if wzdledem wskaznikow jakos uwierzyc nie
    > > moge:)

    > proc1 = -1466166003
    > czas = 7516
    > proc2 = -1466166003
    > czas = 9140

    5% u mnie, pewnie firmowy komp ma lepsze 'przewidywanie' niz
    moj domowy. Jesli roznica potwierdzona pisz ifami, a dodatkowo
    opisz problem ludziom z g++, moze wymysla co poprawic.

    pozdrawiam
    bartekltg

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: