eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingdalsza optymalizacja › Re: dalsza optymalizacja
  • Data: 2012-04-02 17:11:40
    Temat: Re: dalsza optymalizacja
    Od: " M.M." <m...@N...gazeta.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    bartekltg <b...@g...com> napisał(a):

    > W dniu 2012-04-02 15:55, M.M. pisze:
    >
    >
    > > int main( int argc, char *argv[] ) {
    > > clock_t start = clock();
    > > float 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;
    > > }
    >
    >
    > >> A u mnie ten program skompilowany GCC z O2 nie kończy się:
    > > A z typem float już działa. Co jest grane?
    > >
    >
    > Działa poprawnie w obu wersjach (VC++ 2010).
    > Deklaracja int i w wewnętrznej pętli nadpisuje
    > poprzednie 'i'. W wyplutym asm widać, że to różne zmienne.

    W wewnętrznej pętli zmienną oznaczyłem symbolem "j" i też
    nie zatrzymuje się. Mój GCC ma znowu jakiegoś buga :(

    Przypominam sobie że w jakimś starszym VC był podobny
    problem. Jeśli w prostych programach używało się printf z
    konwersją typu stałoprzecinkowego do typu zmiennoprzecinkowego
    to skompilowany program potrafił wywalić NT4.0.

    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: