eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingdalsza optymalizacja › Re: dalsza optymalizacja
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: " M.M." <m...@N...gazeta.pl>
    Newsgroups: pl.comp.programming
    Subject: Re: dalsza optymalizacja
    Date: Mon, 2 Apr 2012 13:22:06 +0000 (UTC)
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 52
    Message-ID: <jlc95u$r7b$1@inews.gazeta.pl>
    References: <jl73ie$b6f$1@inews.gazeta.pl> <jl9aaf$326$1@inews.gazeta.pl>
    <jl9al3$ee7$1@inews.gazeta.pl> <jl9dfl$a80$1@inews.gazeta.pl>
    <jlbgoo$s1a$1@inews.gazeta.pl> <jlbp1u$elh$1@inews.gazeta.pl>
    NNTP-Posting-Host: localhost
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: 8bit
    X-Trace: inews.gazeta.pl 1333372926 27883 172.20.26.243 (2 Apr 2012 13:22:06 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Mon, 2 Apr 2012 13:22:06 +0000 (UTC)
    X-User: mariotti
    X-Forwarded-For: 89.229.34.123
    X-Remote-IP: localhost
    Xref: news-archive.icm.edu.pl pl.comp.programming:196547
    [ ukryj nagłówki ]

    <f...@N...gazeta.pl> napisał(a):

    > > - za drugim razem odwrotnie - nie inty i floaty zdaja sie
    > > najwiekszym problemem tylko konwersje z float na int
    > > (defakto jest to bug spolki fpu+kompilatory)
    > >
    >
    > testy u mnie na starym p4
    >
    >
    > for(int i=0; i<100000000; i++)
    > {
    > // int_ = (int) i; // 140 ms
    >
    > //int_ = i * 80; // 180 ms
    > // int_ = i/40 ; // 2500 ms
    >
    > // float_ = (float) i; // 230 ms
    >
    > // float_ = ((float) i/ (i+23)); // 1800
    > // float_ = sqrt(float(i) ); // 2300
    > // float_ = cos(float(i) ); // 9600
    > // float_ = ((float) i/ 3.3345); // 420
    > // float_ = (float) i * float(i); // 350
    >
    > // int_ = (float) i; // 6900 ms
    >
    > }
    >
    > konwersja floata na int kosztuje tyle co kilka dzielen, i tyle co


    A u mnie ten program skompilowany GCC z O2 nie kończy się:

    int main( int argc, char *argv[] ) {
    clock_t start = clock();
    int t = 0;
    for( int i=0 ; i<30000 ; i++ )
    for( int i=0 ; i<10000 ; i++ )
    t += i;
    printf("%dms\n%lf\n", (int)((clock()-start)*1000/CLOCKS_PER_SEC) , (double)t );
    return 0;
    }

    Zwykle (chyba nigdy) nie używam takich samych nazw zmiennych dla pętli
    zagnieżdżonej co obejmującej. Ale myślałem że to poprawny kod...

    Pozdrawiam


    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

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: