@@ -10,7 +10,7 @@ It is broadly applicable to the compression of arrays of
1010The library seeks to exploit SIMD instructions (SSE)
1111whenever possible.
1212
13- This library can decode at least 4 billions of compressed integers per second on most
13+ This library can decode at least 4 billions of compressed integers per second on most x64
1414desktop or laptop processors. That is, it can decompress data at a rate of 15 GB/s.
1515This is significantly faster than generic codecs like gzip, LZO, Snappy or LZ4.
1616
@@ -129,18 +129,18 @@ On an x64 platform, your processor should support SSSE3. This includes almost ev
129129sold after 2006. (Note: the key schemes require merely SSE2.) Some specific binaries will only run if your processor
130130supports SSE4.1. They have been purely used for specific tests however.
131131
132- We also support ARM platforms through SIMDe, by wrapping.
132+ We also support ARM platforms through SIMDe, by wrapping. The performance might be poor. If you would
133+ like to contribute native ARM support, please provide a pull request.
133134
134135## Building with CMake
135136
136137You need cmake. On most linux distributions, you can simply do the following:
137138
138139 git clone https://github.com/lemire/FastPFor.git
139140 cd FastPFor
140- mkdir build
141- cd build
142- cmake ..
143- cmake --build .
141+ cmake -B build
142+ cmake --build build
143+ ctest --test-dir build
144144
145145It may be necessary to set the CXX variable. The project is installable (` make install ` works).
146146
@@ -182,15 +182,16 @@ See Encoding: Integer Compression Libraries for Go https://github.com/zhenjl/en
182182If you used CMake to generate the build files, the ` check ` target will
183183run the unit tests. For example , if you generated Unix Makefiles
184184
185- make check
185+ ctest --test-dir build
186186
187187will do it.
188188
189189## Simple benchmark
190190
191- make codecs
192- ./codecs --clusterdynamic
193- ./codecs --uniformdynamic
191+ cmake -B build
192+ cmake --build build
193+ ./build/codecs --clusterdynamic
194+ ./build/codecs --uniformdynamic
194195
195196## Optional : Snappy
196197
@@ -202,9 +203,6 @@ Google snappy. You can do so on a recent ubuntu machine as:
202203
203204## Processing data files
204205
205- Typing "make" will generate an "inmemorybenchmark"
206- executable that can process data files.
207-
208206You can use it to process arrays on (sorted!) integers
209207on disk using the following 32-bit format: 1 unsigned 32-bit
210208integer indicating array length followed by the corresponding
@@ -222,8 +220,6 @@ The "minlength" flag skips short arrays. (Warning: timings over
222220short arrays are unreliable.)
223221
224222
225-
226-
227223## I used your code and I get segmentation faults
228224
229225Our code is thoroughly tested.
0 commit comments