optimize EliasFanoEncoder::defaultNumLowerBits
authorPhilip Pronin <philipp@fb.com>
Wed, 15 Feb 2017 20:10:01 +0000 (12:10 -0800)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Wed, 15 Feb 2017 20:22:11 +0000 (12:22 -0800)
commitb49a44c4fedd1c343bafa20de4ff5298321f8b1d
tree69ce4a28f8c1cd5a7d776d8e5602d437bdf56c4e
parentbb76b0f7bf1eabf0b66dea063d617e5c6d8de56f
optimize EliasFanoEncoder::defaultNumLowerBits

Summary:
`defaultNumLowerBits` is heavily used during PL encoding with
optimally-partitioned EF. This diff improves its performance by 3.5x by
avoiding expensive 64-bit division.

Reviewed By: ot, luciang

Differential Revision: D4564615

fbshipit-source-id: 4521d3c05f19573cd2c84f702fcfeaace5f98e77
folly/experimental/EliasFanoCoding.h
folly/experimental/test/EliasFanoCodingTest.cpp