eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingilupotokowy jest najnowszy procek intelaRe: ilupotokowy jest najnowszy procek intela
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!.POSTED!not-for-mail
    From: "Matt P. Dz." <n...@i...local>
    Newsgroups: pl.comp.programming
    Subject: Re: ilupotokowy jest najnowszy procek intela
    Date: Sun, 08 Jan 2012 00:15:58 +0100
    Organization: WSISiZ
    Lines: 34
    Sender: m...@n...wsisiz.edu.pl
    Message-ID: <jeajnb$oaf$1@portraits.wsisiz.edu.pl>
    References: <jdffq8$ahf$1@inews.gazeta.pl> <jdm7qu$cfk$1@inews.gazeta.pl>
    NNTP-Posting-Host: 84.238.69.22
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: 7bit
    X-Trace: portraits.wsisiz.edu.pl 1325978155 24911 84.238.69.22 (7 Jan 2012 23:15:55
    GMT)
    X-Complaints-To: a...@w...edu.pl
    NNTP-Posting-Date: Sat, 7 Jan 2012 23:15:55 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20111001 Thunderbird/7.0.1
    In-Reply-To: <jdm7qu$cfk$1@inews.gazeta.pl>
    Xref: news-archive.icm.edu.pl pl.comp.programming:194656
    [ ukryj 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

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: