remove inline int8_t log2(size_t value) function from hashmap_indexer_impl.h(Not used)
remove namespace sync_comm and struct CommImpl from hashmap_indexer_impl.h(Not used)
remove Allocator<T> of std::vector<T, Allocator<T>> inner_ in hashmap_indexer_impl.h(No need)
remove encode_vecencode_val and decode_val API from ref_vector.h (Not used)
add struct murmurhasher to single_phf_view.h (reduce dependency)
add struct external_mem_dumper to single_phf_view.h for dump data to blob (Reduce memcpy)
remove std::set<size_t> idx in static void build(Iterator keys, uint64_t n, Dumper& dumper, int thread_num) of struct SinglePHFView in single_phf_view.h (No need)
add static void build(Iterator keys, uint64_t n, pthash::single_phf<murmurhasher, pthash::dictionary_dictionary, true>& phf, int thread_num) API for struct SinglePHFView in single_phf_view.h (Reduce memcpy)
remove void serialize(std::unique_ptr<IOADAPTOR_T>& writer)void deserialize(std::unique_ptr<IOADAPTOR_T>& reader) and void serialize_to_mem(std::vector<char>& buf) from class StringViewVector in string_view_vector.h (Not used)
remove void Serialize(const std::string& path) and void Deserialize(const std::string& path) from class ImmPHIdxer in perfect_hash_indexer.h (Not used)
overwrite finish() API of class PHIdxerViewBuilder in perfect_hash_indexer.h (For vineyard)
replace std::vector<char> buffer_ with std::shared_ptr<Blob> buffer_ in perfect_hash_indexer.h (For vineyard)
replace nonstd::string_view with arrow_string_view in all files. (For vineyard)
What do these changes do?
OLD: Modifications of libgrape-lite perfect hash
inline int8_t log2(size_t value)
function fromhashmap_indexer_impl.h
(Not used)namespace sync_comm
andstruct CommImpl
fromhashmap_indexer_impl.h
(Not used)Allocator<T>
ofstd::vector<T, Allocator<T>> inner_
inhashmap_indexer_impl.h
(No need)encode_vec
encode_val
anddecode_val
API fromref_vector.h
(Not used)struct murmurhasher
tosingle_phf_view.h
(reduce dependency)struct external_mem_dumper
tosingle_phf_view.h
for dump data to blob (Reduce memcpy)std::set<size_t> idx
instatic void build(Iterator keys, uint64_t n, Dumper& dumper, int thread_num)
ofstruct SinglePHFView
insingle_phf_view.h
(No need)static void build(Iterator keys, uint64_t n, pthash::single_phf<murmurhasher, pthash::dictionary_dictionary, true>& phf, int thread_num)
API forstruct SinglePHFView
insingle_phf_view.h
(Reduce memcpy)void serialize(std::unique_ptr<IOADAPTOR_T>& writer)
void deserialize(std::unique_ptr<IOADAPTOR_T>& reader)
andvoid serialize_to_mem(std::vector<char>& buf)
fromclass StringViewVector
instring_view_vector.h
(Not used)void Serialize(const std::string& path)
andvoid Deserialize(const std::string& path)
fromclass ImmPHIdxer
inperfect_hash_indexer.h
(Not used)finish()
API ofclass PHIdxerViewBuilder
inperfect_hash_indexer.h
(For vineyard)std::vector<char> buffer_
withstd::shared_ptr<Blob> buffer_
inperfect_hash_indexer.h
(For vineyard)nonstd::string_view
witharrow_string_view
in all files. (For vineyard)NEW:
Related issue number
Fixes #1852