eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingdalsza optymalizacjaRe: dalsza optymalizacja
  • Data: 2012-04-02 10:52:10
    Temat: Re: dalsza optymalizacja
    Od: Roman W <b...@g...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On Monday, April 2, 2012 9:46:54 AM UTC+1, wrote:
    > > - 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
    > sinus jest to rodzaj buga bo konwersja z floata na int dziala normalnie
    > a po takim wyrazeniu malo kto sie spodziewa ze to tak wolno dziala
    > - jest to bug (choc nie wiem ilu i jakoch prockow/kompilatorow to dotyczy)

    Pomysl sobie o tym, w jakiej postaci jest przechowywana liczba typu float, to
    zrozumiesz czemu to musi troche trwac. Tylko ktos naiwny bedzie sie spodziewal, ze to
    nic nie kosztuje.

    Aha, i OIMW to na procesorach P4 i nowszych dzialania na liczbach double sa szybsze
    niz na float. Ale moze sie myle.

    RW

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: