-
Data: 2010-07-28 10:19:01
Temat: Re: Szybkie zliczanie bitów
Od: Wojciech Muła <w...@p...null.onet.pl.invalid> szukaj wiadomości tego autora
[ pokaż wszystkie 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.
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- 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
Najnowsze wątki
- 2025-01-27 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-01-27 Warszawa => Java Developer <=
- 2025-01-27 Warszawa => Data Engineer (Tech Lead) <=
- 2025-01-27 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-27 Kto ma PRAWNĄ rację? poseł KO mec. R. Giertych v. mec. B. Lewandowski
- 2025-01-27 Gliwice => IT Expert (Network Systems area) <=
- 2025-01-27 Koszyk okrągły, walec 3x AA, na duże paluszki R6
- 2025-01-27 Warszawa => QA Engineer <=
- 2025-01-27 Warszawa => Analityk Biznesowo-Systemowy <=
- 2025-01-27 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-27 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-27 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-27 Kraków => User Experience Designer <=
- 2025-01-27 Kraków => iOS Developer (Swift experience) <=
- 2025-01-26 Trump-2 JUŻ bardzo łaskawy [1_500 ułaskawień skazanych za Bidena za "Kawkę na Kapitolu"]