-
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
Następne wpisy z tego wątku
- 17.12.14 16:55 Borneq
- 17.12.14 16:56 firr
- 17.12.14 17:08 bartekltg
- 17.12.14 17:15 bartekltg
- 17.12.14 17:21 M.M.
- 17.12.14 17:25 M.M.
- 17.12.14 17:39 firr
- 17.12.14 17:55 M.M.
- 17.12.14 18:47 firr
- 18.12.14 14:12 g...@g...com
- 18.12.14 14:32 firr
- 18.12.14 19:34 Wojciech Muła
- 18.12.14 19:54 M.M.
- 25.12.14 10:08 firr
- 25.12.14 10:26 firr
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-02 piszę list do św Mikołaja
- 2024-11-01 karta SIM nie działa w konkretnym smartfonie.
- 2024-11-01 Mamy WZROST! O 50% wzrosła ilość kredytów gotówkowych
- 2024-11-01 Warszawa => Expert Recruiter 360 <=
- 2024-11-01 Warszawa => Technical Leader (Java Background) <=
- 2024-11-01 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2024-11-01 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-01 Warszawa => Programista Dynamics 365 CRM <=
- 2024-11-01 Warszawa => Dynamics 365 CRM Developer <=
- 2024-11-01 Warszawa => Junior Rekruter <=
- 2024-11-01 Chrzanów => Specjalista ds. PR Produktowego <=
- 2024-11-01 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-01 Łódź => Frontend Engineer (Three.js) <=
- 2024-11-01 Warszawa => Junior Rekruter <=
- 2024-11-01 Gdańsk => Programista Full Stack .Net <=