forked from fast-pack/JavaFastPFOR
-
Notifications
You must be signed in to change notification settings - Fork 0
kod3r/JavaFastPFOR
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
JavaFastPFOR: A simple integer compression library in Java Main contributors Daniel Lemire, http://lemire.me/en/ Minor contributors Di Wu, http://www.facebook.com/diwu1989 == What does this do == It is a library to compress and uncompress arrays of integers very fast. The assumption is that most (but not all) values in your array use less than 32 bits. These sort of arrays often come up when using differential coding. Some CODECs ("integrated codecs") assume that the integers are in sorted orders. Most others do not. == Why? == I found a few libraries that implemented Binary Packing, NewPFD, OptPFD, Variable Byte, Simple 9 and so on in Java. However, I could not find one that I liked. I threw in a cool little benchmark program. == How does it compare to the Kamikaze PForDelta library? == In our tests, Kamikaze PForDelta does not fare well. See the benchmarkresults directory for some results. == License == This code is released under the Apache License Version 2.0 http://www.apache.org/licenses/. == Requirements == A recent Java compiler. == What can I do? == Compile the code and execute integercompression.benchmark. I recommend running all the benchmarks with the "-server" flag. Speed is always reported in millions of integers per second. === For Maven users === mvn exec:java === For ant users === When you use Apache ant, please try this: $ ant Benchmark or: $ ant Benchmark -Dbenchmark.target=BenchmarkBitPacking == Usage == See example.java for a simple demonstration. == what to read more? == We wrote a research paper which documents many of the CODECs implemented here: Daniel Lemire and Leonid Boytsov, Decoding billions of integers per second through vectorization, Software Pratice & Experience (to appear) http://arxiv.org/abs/1209.2137 == Limitation == Currently this library compresses and uncompresses arrays in bulk. An alternative strategy is to compress them block-by-block. == Installing java 7 (optional) == Good instructions: http://forums.linuxmint.com/viewtopic.php?f=42&t=93052
About
A simple integer compression library in Java
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published