eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingSzukam benchmarkówRe: Szukam benchmarków
  • Data: 2014-12-17 16:52:28
    Temat: Re: Szukam benchmarków
    Od: firr <p...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu środa, 17 grudnia 2014 16:39:51 UTC+1 użytkownik firr napisał:
    > W dniu środa, 17 grudnia 2014 15:27:39 UTC+1 użytkownik M.M. napisał:
    > > On Wednesday, December 17, 2014 2:24:57 PM UTC+1, g...@g...com wrote:
    > > > Jezeli dana procedura (taka jak np. liczenie sinusa) gwarantuje,
    > > > ze dla tego samego argumentu zawsze uzyskamy ten sam wynik
    > > Wystarczy ze gwarantuje taką samą dokładność dla określonego zbioru
    > > argumentów.
    > >
    > >
    > > Swoją drogą, szkoda że w C++ nie można przy argumencie procedury
    > > napisać, że dany argument będzie przyjmował wartości tylko z małego
    > > zbioru. Wtedy kompilator miałbym lepsze możliwości optymalizacji.
    > >
    > >
    > > np.
    > > f( int x@{1:50%,0:20%,2:10%,other} ) {
    > > return sin(x);
    > > }
    > >
    > > Kompilator mógłby stablicować dla sin dla 1, 0 i 2, a że 1
    > > przychodzi statystycznie w 50%, to mógłby 'górnym ifem' sprawdzać,
    > > czy x==1.
    > >
    > > if( x==1 ) return sin(1);
    > > if( x==0 ) return sin(0);
    > > if( x==2 ) return sin(2);
    > > return sin(x);
    > >
    > > Z kolei gdy się nie poda statystyki wystąpień, to kompilator mógłby
    > > wziąć wartości z pgo.
    > >
    > > Dalej, gdy nie ma other, to w ogóle kompilator mógłby wygenerować
    > > ultra zoptymalizowany kod:
    > >
    > > f( int x@{1:60%,0:40%} ) {
    > > return x==1 ? sin(1) : sin(0);
    > > }
    > >
    > jesli statycznie wiesz co to bezie to sam sobie mozesz to napisac w dobrej
    kolejnosci zamiast troche szpecic zrodlo tymi procentami; jesli nie to lepiej jednak
    by kompilatr sobie sam ta statystyke trzasnal (i tak jakos slabo wierze w skutecznosc
    tego rodzaju optymizacji - za to chyba zgodzilbym sie ze przydaloby sie definiowanie
    statycznych okrojonych typow np float_od_0_do_1 albo int_od_0_do_100)

    wtedy moglby zasadniczo stablicowac po kryjomu takiego sinusa lub inne nawet zlozone
    wtrazenia (wziawszy pod uwage moje wyniki ze tablicowanie jednak duzo daje to
    moglbybyc wybitnie korzystne 9typu wlasnie jak mowie skoki wydajnosci typu 50 razy) -

    zalety: automatycznie sie robi i spora czytelnosc kodu, z kolei reczna wersja
    bardziej pracochlonna ale moglabbyc ciagle troche z przodu ze wzgledu na jawny dostep
    do tych malych tablic

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: