-
Data: 2012-01-07 23:15:58
Temat: Re: ilupotokowy jest najnowszy procek intela
Od: "Matt P. Dz." <n...@i...local> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 12/31/2011 6:50 AM, M.M. wrote:
> Temat stary jak swiat. Czesto podczas programowania, gdy chce
> sie uzyskac super wydajna implementacje, programista zdaje
> sobie sprawe ze ciag instrukcji w jezyku wysokopoziomowym
> bedzie zbyt trudny dla kompilatora aby wygenerowal z tego
> optymalny kod maszynowy. Co wiecej, kompilator bez informacji o
> statystycznym rozkladzie danych, nie moze wygenerowac optymalnego
> kodu - dla kazego rozkladu inny kod bedzie optymalny. Kwestia jest
> chyba nadal otwarta: czy np. wprowadzic jakas pragme, typu
>
> #pragma a = {0..0=>60%,1..3=>20%,3..inf=>20%}
> instrukcje( a );
>
> Kompilator wiedzac ze a nigdy nie przyjmuje wartosci ujemnych i
> jest az 60% szans na to ze a jest rowne zero, moze wygenerowac
> lepszy kod.
W GCC jest cos w tym stylu, __builtin_expect
http://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.htm
l
Dosc czesto uzywane w kernelu Linuxa, takze przydatne sa (oparte na
powyzszym) makra "likely" i "unlikely":
#define likely(x) __builtin_expect(!!(x), 1)
#define unlikely(x) __builtin_expect((x), 0)
http://kerneltrap.org/node/4705
http://www.ginac.de/pipermail/ginac-devel/2001-Septe
mber/000329.html
Patrz tez:
http://stackoverflow.com/questions/3702903/portable-
branch-prediction-hints
http://stackoverflow.com/questions/1851299/is-it-pos
sible-to-tell-the-branch-predictor-how-likely-it-is-
to-follow-the-branc
Pozdrawiam,
Matt
Następne wpisy z tego wątku
- 08.01.12 00:54 Grzegorz Niemirowski
Najnowsze wątki z tej grupy
- 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
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-06-10 wyobrazcie sobie ze
- 2024-06-10 malowanie samochodu
- 2024-06-10 News from Poland
- 2024-06-10 Czy na pewno będą CŁA na chińskie samochody?
- 2024-06-09 Dlaczego w Polsce sie nic nie udaje, na przykładzie niebieskiego lasera a teraz perskowitów
- 2024-06-09 Dlaczego w Polsce sie nic nie udaje, na przykładzie niebieskiego lasera a teraz perskowitów
- 2024-06-09 Wykrywanie przerwy w długim przewodzie zakopanym w ziemi.
- 2024-06-09 Czemu news.chmurka.nwt jest taki wolny?
- 2024-06-11 Funbox 3.0 zakres adresów DHCP
- 2024-06-11 Re: Funbox 3.0 zakres adresów DHCP
- 2024-06-09 Miernik szybkości netu
- 2024-06-11 Panele PV w pionie (prawie).
- 2024-06-11 czy ta grupa żyje?
- 2024-06-11 Warszawa => Senior React Native Developer <=
- 2024-06-11 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=