-
Data: 2014-12-17 16:39:49
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 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)
Następne wpisy z tego wątku
- 17.12.14 16:52 firr
- 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
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 <=