eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingdalsza optymalizacjaRe: dalsza optymalizacja
  • Data: 2012-04-01 18:48:00
    Temat: Re: dalsza optymalizacja
    Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2012-04-01 18:06, M.M. pisze:
    > bartekltg<b...@g...com> napisał(a):
    >
    >> To nie dawaj złych przykładów ;)
    > Oryginalny przykład jest zbyt zagmatwany, chciałem uprościć jakoś :)
    >
    >>> W meritum chodzilo o to czy proste operacje arytmetyczne (jak
    >>> np. x = x + 1) na typie double sa istotnie wolniejsze niz na
    >>> typie int, albo long.
    >>
    >> Wyciąłeś test odpowiadają…cy na to pytanie.
    > Nie wiem jak ten test należy czytać.
    > int:1.682000 i2f:0.000000 double:1.766000 f2i:0.000000
    > int:1.688000 i2f:0.000000 double:1.794000 f2i:0.000000
    > int:1.696000 i2f:0.000000 double:1.773000 f2i:0.000000
    > int:1.691000 i2f:0.000000 double:1.765000 f2i:0.000000
    >
    > Czyżby pierwsza kolumna to czas inkrementacji na typie int,
    > a trzecia kolumna na typie double? To by sugerowało że

    Tak.

    > nie warto się bawić, bo jeszcze dochodzi czas pętli, indeksowania i
    > dostępu do pamięci.

    Nie, to czas całego kodu 'testowego'. Pętla, random etc.

    Dokłądniej
    start=clock();
    for (int i=0;i<N;i++) Ti[rand()%M]++;
    end = clock();

    N jest, jak w Twoim przykładzie, 1000 razy większe niż M.
    (dokładniej M=10000)

    Czas rand() zasłania praktycznie różnice.

    BTW,
    wyrzucając random:
    start=clock();
    for (int i=0;i<N;i++) Ti[i%M]++;
    end = clock();

    Wyniki są znacznie mniejsze.
    int:0.157000 i2f:0.000000 double:0.192000 f2i:0.000000

    I mówię na serio. Jeśli w kodzie masz takie losowanko
    'na którym klocku zrobić operację', średnio operacji
    na klocek jest dużo i są nieżależne, to nie rób tego
    w ten sposób. wygwenerpowanie 1000 liczb z penwgo rozkładu,
    aby z góry wiedzieć, ile operacji wykonać jest znacznie
    szybsze niż milion prostych randomów.


    pzdr
    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: