Example to illustrate dataset scrolling using different de-serialization
techniques with succinct vectors.
http://bitmagic.io/bm-mvc.html
How to build and run (x86 centric):
./build_all.sh
./run_all.sh
How to run:
-------------
./xsample10_sse42 -bookm 16 -check
Serialization bookmark at:16
ID BLOB size = 125490402
SEQ BLOB size = 20354073
POS BLOB size = 9662368
Total = 155506843
01. Scrolling test range; 19.66 sec
02. Scrolling test clear/range/merge; 13.05 sec
03. Scrolling merge/keep_range; 13.25 sec
Application notes:
------------------
Example generates a sample data frame, serializes it into memory using compressive
techniques and setting bookmarks to support range deserialization.
The use case illustrated is the the main body of data remains compressed in RAM
we create a range specific data frame.
Benchmarks simulate forward scrolling, every new range overlaps with a previous
range (assumed that application allows relative scrolling within ranges).
Under the assumption of overlap between ranges it demonstrates various
range deserialization techniques on how to preserve overlap and only deserialize
the new range.
Sample uses only forward scrolling, more complex application should handle random
ranges with or without overlap.