eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingSzybkie zliczanie bitówRe: Szybkie zliczanie bitów
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not
    -for-mail
    From: Wojciech Muła <w...@p...null.onet.pl.invalid>
    Newsgroups: pl.comp.programming
    Subject: Re: Szybkie zliczanie bitów
    Date: Wed, 28 Jul 2010 12:19:01 +0200
    Organization: http://onet.pl
    Lines: 25
    Message-ID: <2...@p...null.onet.pl.invalid>
    References: <i2ouqb$ait$1@news.onet.pl>
    NNTP-Posting-Host: public91567.xdsl.centertel.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: news.onet.pl 1280312344 15359 188.47.229.175 (28 Jul 2010 10:19:04 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Wed, 28 Jul 2010 10:19:04 +0000 (UTC)
    X-Newsreader: Sylpheed 2.5.0 (GTK+ 2.10.14; i686-pc-mingw32)
    Xref: news-archive.icm.edu.pl pl.comp.programming:186165
    [ ukryj nagłówki ]

    "Sakujami" <s...@n...gmail.to> wrote:

    > Jak szybko zliczać bity unikając 32-krotnego lda dwusłowa przejścia w pętli
    > i porównywniau z maską. Funkcje podające numer pierwszego i ostatniego bitu
    > są szybkimi instrukcjami procesora a co ze zliczaniem? A może jest jakaś
    > instrukcja MMX do tego?

    Nowsze procesory, mające rozszerzenie SSE4.2 posiadają instrukcję popcnt.

    W młodszych procesorach można stosować różne algorytmy. Dla krótkich słów
    najprościej zrobić tablicę z prekalkulowaną liczbą bitów dla bajtów, albo
    lepiej użyć metody 'Counting bits set, in parallel' z
    http://graphics.stanford.edu/~seander/bithacks.html.

    BTW jak się okazało, mój sposób z rozkazami SSS3 ma porównywalną
    szybkość ze sprzętowym popcnt przy dużych ilościach danych:
    http://wm.ite.pl/articles/sse-popcount.html

    w.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

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: