13
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: found
      Is Open Access

      Faster Population Counts using AVX2 Instructions

      Preprint
      , ,

      Read this article at

      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          Abstract

          Counting the number of ones in a binary stream is a common operation in database, information-retrieval, cryptographic and machine-learning applications. Most processors have dedicated instructions to count the number of ones in a word (e.g., popcnt on x64 processors). Maybe surprisingly, we show that a vectorized approach using SIMD instructions can be twice as fast as using the dedicated instructions on recent Intel processors. The benefits can be even greater for applications such as similarity measures (e.g., the Jaccard index) that require additional Boolean operations. Our approach has been adopted by LLVM: it is used by its popular C compiler (clang).

          Related collections

          Most cited references8

          • Record: found
          • Abstract: not found
          • Conference Proceedings: not found

          Detecting near-duplicates for web crawling

            Bookmark
            • Record: found
            • Abstract: not found
            • Article: not found

            A technique for counting ones in a binary computer

              Bookmark
              • Record: found
              • Abstract: not found
              • Article: not found

              Effects of neutrality, geometric constraints, climate, and habitat quality on species richness and composition of Atlantic Forest small-mammals

                Bookmark

                Author and article information

                Journal
                2016-11-22
                Article
                1611.07612
                5b35b401-d568-4873-a402-c76b54e754f9

                http://creativecommons.org/licenses/by/4.0/

                History
                Custom metadata
                Software is at https://github.com/CountOnes/hamming_weight
                cs.DS

                Data structures & Algorithms
                Data structures & Algorithms

                Comments

                Comment on this article