proxygen
|
Namespaces | |
detail | |
instructions | |
Classes | |
struct | BitVectorCompressedListBase |
struct | BitVectorEncoder |
class | BitVectorReader |
struct | EliasFanoCompressedListBase |
struct | EliasFanoEncoderV2 |
class | EliasFanoReader |
Typedefs | |
typedef BitVectorCompressedListBase< const uint8_t * > | BitVectorCompressedList |
typedef BitVectorCompressedListBase< uint8_t * > | MutableBitVectorCompressedList |
typedef EliasFanoCompressedListBase< const uint8_t * > | EliasFanoCompressedList |
typedef EliasFanoCompressedListBase< uint8_t * > | MutableEliasFanoCompressedList |
Functions | |
folly::Optional< instructions::Type > | instructionsOverride () |
template<class URNG > | |
std::vector< uint32_t > | generateRandomList (size_t n, uint32_t maxId, URNG &&g) |
std::vector< uint32_t > | generateRandomList (size_t n, uint32_t maxId) |
std::vector< uint32_t > | generateSeqList (uint32_t minId, uint32_t maxId, uint32_t step=1) |
std::vector< uint32_t > | loadList (const std::string &filename) |
template<class... Args> | |
void | maybeTestPreviousValue (Args &&...) |
template<class Vector , class Reader , class Index > | |
auto | maybeTestPreviousValue (const Vector &data, Reader &reader, Index i) -> decltype(reader.previousValue(), void()) |
template<class... Args> | |
void | maybeTestPrevious (Args &&...) |
template<class Vector , class Reader , class Index > | |
auto | maybeTestPrevious (const Vector &data, Reader &reader, Index i) -> decltype(reader.previous(), void()) |
template<class Reader , class List > | |
void | testNext (const std::vector< uint32_t > &data, const List &list) |
template<class Reader , class List > | |
void | testSkip (const std::vector< uint32_t > &data, const List &list, size_t skipStep) |
template<class Reader , class List > | |
void | testSkip (const std::vector< uint32_t > &data, const List &list) |
template<class Reader , class List > | |
void | testSkipTo (const std::vector< uint32_t > &data, const List &list, size_t skipToStep) |
template<class Reader , class List > | |
void | testSkipTo (const std::vector< uint32_t > &data, const List &list) |
template<class Reader , class List > | |
void | testJump (const std::vector< uint32_t > &data, const List &list) |
template<class Reader , class List > | |
void | testJumpTo (const std::vector< uint32_t > &data, const List &list) |
template<class Reader , class Encoder > | |
void | testEmpty () |
template<class Reader , class Encoder > | |
void | testAll (const std::vector< uint32_t > &data) |
template<class Reader , class List > | |
void | bmNext (const List &list, const std::vector< uint32_t > &data, size_t iters) |
template<class Reader , class List > | |
void | bmSkip (const List &list, const std::vector< uint32_t > &, size_t logAvgSkip, size_t iters) |
template<class Reader , class List > | |
void | bmSkipTo (const List &list, const std::vector< uint32_t > &data, size_t logAvgSkip, size_t iters) |
template<class Reader , class List > | |
void | bmJump (const List &list, const std::vector< uint32_t > &data, const std::vector< size_t > &order, size_t iters) |
template<class Reader , class List > | |
void | bmJumpTo (const List &list, const std::vector< uint32_t > &data, const std::vector< size_t > &order, size_t iters) |
template<class F > | |
auto | dispatchInstructions (F &&f) -> decltype(f(std::declval< instructions::Default >())) |
Variables | |
constexpr size_t | kCacheLineSize = 64 |
Definition at line 71 of file BitVectorCoding.h.
Definition at line 89 of file EliasFanoCoding.h.
Definition at line 72 of file BitVectorCoding.h.
Definition at line 90 of file EliasFanoCoding.h.
void folly::compression::bmJump | ( | const List & | list, |
const std::vector< uint32_t > & | data, | ||
const std::vector< size_t > & | order, | ||
size_t | iters | ||
) |
Definition at line 385 of file CodingTestUtils.h.
References folly::doNotOptimizeAway(), and i.
void folly::compression::bmJumpTo | ( | const List & | list, |
const std::vector< uint32_t > & | data, | ||
const std::vector< size_t > & | order, | ||
size_t | iters | ||
) |
Definition at line 404 of file CodingTestUtils.h.
References folly::doNotOptimizeAway(), i, and instructionsOverride().
void folly::compression::bmNext | ( | const List & | list, |
const std::vector< uint32_t > & | data, | ||
size_t | iters | ||
) |
Definition at line 324 of file CodingTestUtils.h.
References folly::doNotOptimizeAway(), i, and LIKELY.
void folly::compression::bmSkip | ( | const List & | list, |
const std::vector< uint32_t > & | , | ||
size_t | logAvgSkip, | ||
size_t | iters | ||
) |
Definition at line 340 of file CodingTestUtils.h.
References folly::doNotOptimizeAway(), i, LIKELY, and folly::gen::skip().
void folly::compression::bmSkipTo | ( | const List & | list, |
const std::vector< uint32_t > & | data, | ||
size_t | logAvgSkip, | ||
size_t | iters | ||
) |
Definition at line 361 of file CodingTestUtils.h.
References folly::doNotOptimizeAway(), i, and folly::gen::skip().
auto folly::compression::dispatchInstructions | ( | F && | f | ) | -> decltype(f(std::declval<instructions::Default>())) |
Definition at line 425 of file CodingTestUtils.h.
References folly::compression::instructions::dispatch(), f, instructionsOverride(), and type.
Referenced by BENCHMARK(), Skip_ForwardQ128(), and SkipTo_SkipQ128().
std::vector<uint32_t> folly::compression::generateRandomList | ( | size_t | n, |
uint32_t | maxId, | ||
URNG && | g | ||
) |
Definition at line 39 of file CodingTestUtils.h.
References g(), uint32_t, and folly::value().
Referenced by BitVectorCodingTest::doTestAll(), EliasFanoCodingTest::doTestAll(), generateRandomList(), and bm::init().
Definition at line 55 of file CodingTestUtils.h.
References generateRandomList().
|
inline |
Definition at line 61 of file CodingTestUtils.h.
Referenced by BitVectorCodingTest::doTestAll(), and EliasFanoCodingTest::doTestAll().
folly::Optional< instructions::Type > folly::compression::instructionsOverride | ( | ) |
Definition at line 30 of file CodingTestUtils.cpp.
References folly::compression::instructions::DEFAULT, folly::compression::instructions::dispatch(), folly::FATAL, folly::compression::instructions::HASWELL, folly::compression::instructions::NEHALEM, folly::none, and type.
Referenced by bmJumpTo(), and dispatchInstructions().
|
inline |
void folly::compression::maybeTestPrevious | ( | Args && | ... | ) |
Definition at line 99 of file CodingTestUtils.h.
Referenced by testJump(), testNext(), testSkip(), and testSkipTo().
auto folly::compression::maybeTestPrevious | ( | const Vector & | data, |
Reader & | reader, | ||
Index | i | ||
) | -> decltype(reader.previous(), void()) |
Definition at line 105 of file CodingTestUtils.h.
References folly::data(), EXPECT_EQ, EXPECT_FALSE, EXPECT_TRUE, and i.
void folly::compression::maybeTestPreviousValue | ( | Args && | ... | ) |
Definition at line 84 of file CodingTestUtils.h.
Referenced by testJump(), testNext(), testSkip(), and testSkipTo().
auto folly::compression::maybeTestPreviousValue | ( | const Vector & | data, |
Reader & | reader, | ||
Index | i | ||
) | -> decltype(reader.previousValue(), void()) |
Definition at line 90 of file CodingTestUtils.h.
References testing::Args(), folly::data(), EXPECT_EQ, and i.
void folly::compression::testAll | ( | const std::vector< uint32_t > & | data | ) |
Definition at line 313 of file CodingTestUtils.h.
References folly::data(), encode(), and bm::list.
void folly::compression::testEmpty | ( | ) |
Definition at line 290 of file CodingTestUtils.h.
References folly::data(), encode(), EXPECT_EQ, EXPECT_FALSE, and bm::list.
void folly::compression::testJump | ( | const std::vector< uint32_t > & | data, |
const List & | list | ||
) |
Definition at line 234 of file CodingTestUtils.h.
References EXPECT_EQ, EXPECT_FALSE, EXPECT_TRUE, i, maybeTestPrevious(), and maybeTestPreviousValue().
void folly::compression::testJumpTo | ( | const std::vector< uint32_t > & | data, |
const List & | list | ||
) |
Definition at line 259 of file CodingTestUtils.h.
References EXPECT_EQ, EXPECT_FALSE, EXPECT_TRUE, i, uint32_t, folly::value(), and values().
void folly::compression::testNext | ( | const std::vector< uint32_t > & | data, |
const List & | list | ||
) |
Definition at line 119 of file CodingTestUtils.h.
References EXPECT_EQ, EXPECT_FALSE, EXPECT_TRUE, i, maybeTestPrevious(), and maybeTestPreviousValue().
void folly::compression::testSkip | ( | const std::vector< uint32_t > & | data, |
const List & | list, | ||
size_t | skipStep | ||
) |
Definition at line 137 of file CodingTestUtils.h.
References EXPECT_EQ, EXPECT_FALSE, EXPECT_TRUE, i, maybeTestPrevious(), and maybeTestPreviousValue().
void folly::compression::testSkip | ( | const std::vector< uint32_t > & | data, |
const List & | list | ||
) |
void folly::compression::testSkipTo | ( | const std::vector< uint32_t > & | data, |
const List & | list, | ||
size_t | skipToStep | ||
) |
Definition at line 169 of file CodingTestUtils.h.
References EXPECT_EQ, EXPECT_FALSE, EXPECT_TRUE, maybeTestPrevious(), maybeTestPreviousValue(), uint32_t, and folly::value().
void folly::compression::testSkipTo | ( | const std::vector< uint32_t > & | data, |
const List & | list | ||
) |
Definition at line 199 of file CodingTestUtils.h.
References folly::data(), EXPECT_EQ, EXPECT_FALSE, EXPECT_TRUE, bm::list, max, and shell_builder::steps.
constexpr size_t folly::compression::kCacheLineSize = 64 |
Definition at line 50 of file EliasFanoCoding.h.