-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Revise perfect hash to align with libgrape-lite's pthash #1851
Conversation
Signed-off-by: vegetableysm <[email protected]>
Signed-off-by: vegetableysm <[email protected]>
Signed-off-by: vegetableysm <[email protected]>
Signed-off-by: vegetableysm <[email protected]>
a2e4e39
to
6ae030f
Compare
Signed-off-by: Tao He <[email protected]>
Signed-off-by: Tao He <[email protected]>
bb01a12
to
ce3fe8c
Compare
Signed-off-by: Tao He <[email protected]>
Signed-off-by: vegetableysm <[email protected]>
… degrades performance. Signed-off-by: vegetableysm <[email protected]>
Signed-off-by: vegetableysm <[email protected]>
65919c2
to
f5f22d7
Compare
Signed-off-by: vegetableysm <[email protected]>
Signed-off-by: vegetableysm <[email protected]>
dfbe08a
to
a77704c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please list the changes you have made to the libgrape-lite's implementation in PR's description?
e.g., replace std::vector<xxx>
as xxx*
.
Signed-off-by: vegetableysm <[email protected]>
d95822d
to
539921d
Compare
c1e3f65
to
9f105bb
Compare
Signed-off-by: vegetableysm <[email protected]>
9f105bb
to
671300c
Compare
/cc @sighingnow, this issus/pr has had no activity for a long time, please help to review the status and assign people to work on it. |
Signed-off-by: vegetableysm <[email protected]>
Signed-off-by: vegetableysm <[email protected]>
Signed-off-by: vegetableysm <[email protected]>
Signed-off-by: vegetableysm <[email protected]>
Signed-off-by: vegetableysm <[email protected]>
Refer to #1992 |
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