eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingSzybkie zliczanie bitów
Ilość wypowiedzi w tym wątku: 2

  • 1. Data: 2010-07-28 09:55:32
    Temat: Szybkie zliczanie bitów
    Od: "Sakujami" <s...@n...gmail.to>

    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?


  • 2. Data: 2010-07-28 10:19:01
    Temat: Re: Szybkie zliczanie bitów
    Od: Wojciech Muła <w...@p...null.onet.pl.invalid>

    "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.

strony : [ 1 ]


Szukaj w grupach

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: