tune EF coding
authorPhilip Pronin <philipp@fb.com>
Tue, 4 Feb 2014 02:01:17 +0000 (18:01 -0800)
committerSara Golemon <sgolemon@fb.com>
Thu, 6 Feb 2014 19:50:14 +0000 (11:50 -0800)
commit166dfd2b189c53773e1355e7328b95234bda2368
treecb582deaef5ec0a3419eb43fee5229f0bbc9cf66
parent075808007c5d1deae43f22fbe3f28347192f4758
tune EF coding

Summary:
Change the way forward / skip pointers are encoded, so we can
expect that `uint32_t` will be enough to address ~4B elements instead
of ~2B as it is now.

Test Plan:
Ran benchmarks for both versions, saw no significant
difference.

Added tests.

Reviewed By: lucian@fb.com

FB internal diff: D1156950
folly/experimental/EliasFanoCoding.h
folly/experimental/test/CodingTestUtils.h
folly/experimental/test/EliasFanoCodingTest.cpp