Quantcast
Channel: Hacker News
Viewing all articles
Browse latest Browse all 25817

Show HN: TurboHist: Turbo Histogram Construction

$
0
0

README.md

  • ~1.2 clocks per byte
  • 100% C (& C++ compatible) without inline assembly
  • Both 32 and 64 bits supported
  • Portable scalar functions faster than SIMD functions
  • More than 3 times faster than naive solution
  • 🆕 more faster, beats even other fast assembler functions
  • CPU Sandy Bridge i7-2600k at 4.4GHz, gcc 6.2
  • Single thread
  • Realistic and practical benchmark with large files.
  • No PURE cache benchmark

- Uniform/Skewed distribution:

  • Uniform: enwik9
  • Skewed: enwik9 bwt generated w. libdivsufsort
  • Accurate benchmarking with command "turbohist file -I15"
FunctionUniform: Time MB/sSkewed: Time MB/s
hist_8_3228232823
hist_4_3228172679
count2x6427882788
hist_8_12827802778
hist_4_12827812661
hist_8_6427352734
hist_4_6427312616
count2x64c24332432
hist_4_821732050
hist_8_821661897
hist_1_81840909

(bold = pareto) MB=1.000.000

Compile:

    make

Usage:

    turbohist file

Environment:

OS/Compiler (32 + 64 bits):
  • Linux: GNU GCC (>=4.6)
  • clang (>=3.2)
  • Windows: MinGW
  • Windows: Visual Studio 2015
  • ARM 64 bits/ gcc

References:

Countbench: https://github.com/nkurz/countbench (including "count2x64" with inline assembly)

Last update: 24 DEC 2016


Viewing all articles
Browse latest Browse all 25817

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>