Skip to content
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

feat(query): agg-hashtable-p2 #13548

Closed
wants to merge 42 commits into from
Closed
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
505d569
feat(query): agg-hashtable-p2
sundy-li Nov 2, 2023
82e7b57
feat(query): agg-hashtable-p2
sundy-li Nov 2, 2023
7592691
remove select vector
sundy-li Nov 2, 2023
fadc04f
update
sundy-li Nov 2, 2023
0de8391
Merge branch 'main' into agg-hashtable-p2
sundy-li Nov 2, 2023
25dd0e8
improve nullable
sundy-li Nov 3, 2023
59a95ba
improve nullable
sundy-li Nov 3, 2023
634fb26
Merge branch 'main' into agg-hashtable-p2
sundy-li Nov 3, 2023
d9909f8
improve nullable
sundy-li Nov 3, 2023
367f41a
fix bug
sundy-li Nov 3, 2023
4be1df5
update
sundy-li Nov 6, 2023
8d16030
Merge branch 'main' into agg-hashtable-p2
sundy-li Nov 6, 2023
2002dcc
chore(query): update
sundy-li Nov 6, 2023
b67ee69
chore(query): update
sundy-li Nov 7, 2023
cfe1e22
feat(query): add setting parquet_max_block_size
sundy-li Nov 8, 2023
476d33d
Merge branch 'main' into agg-hashtable-p2
sundy-li Nov 8, 2023
dfae7c5
Merge branch 'main' into agg-hashtable-p2
sundy-li Nov 9, 2023
e2e8824
feat(query): update
sundy-li Nov 14, 2023
103b632
feat(query): update
sundy-li Nov 14, 2023
113c253
feat(query): update
sundy-li Nov 15, 2023
539c661
feat(query): update
sundy-li Nov 15, 2023
5205187
feat(query): update
sundy-li Nov 15, 2023
197139b
Merge branch 'main' into agg-hashtable-p2
sundy-li Nov 15, 2023
4904354
feat(query): update
sundy-li Nov 15, 2023
e2706da
feat(query): update
sundy-li Nov 15, 2023
880d29f
Merge branch 'main' into agg-hashtable-p2
sundy-li Nov 15, 2023
d18ca53
feat(query): update
sundy-li Nov 15, 2023
3c39641
feat(query): update
sundy-li Nov 15, 2023
01ac099
feat(query): update
sundy-li Nov 15, 2023
99e5b04
Merge branch 'main' into agg-hashtable-p2
sundy-li Nov 16, 2023
38a99bd
feat(query): update
sundy-li Nov 16, 2023
a9e6788
feat(query): update
sundy-li Nov 17, 2023
129f3a6
Merge branch 'main' into agg-hashtable-p2
sundy-li Nov 17, 2023
9bada69
feat(query): update
sundy-li Nov 17, 2023
5745182
Merge branch 'main' into agg-hashtable-p2
sundy-li Nov 18, 2023
27f66f7
feat(query): update
sundy-li Nov 18, 2023
dc9b3c8
Merge branch 'main' into agg-hashtable-p2
sundy-li Nov 20, 2023
f2299d0
feat(query): update
sundy-li Nov 21, 2023
0ae964c
Merge branch 'main' into agg-hashtable-p2
sundy-li Nov 21, 2023
d949963
chore(query): update
sundy-li Nov 22, 2023
5b06130
Merge branch 'main' into agg-hashtable-p2
sundy-li Jan 25, 2024
b0e7e94
Merge branch 'agg-hashtable-p2' of github.com:sundy-li/fuse-query int…
sundy-li Jan 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/common/hashtable/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -112,3 +112,4 @@ pub use partitioned_hashtable::hash2bucket;
pub type HashJoinHashMap<K> = hashjoin_hashtable::HashJoinHashTable<K>;
pub type StringHashJoinHashMap = hashjoin_string_hashtable::HashJoinStringHashTable;
pub use traits::HashJoinHashtableLike;
pub use utils::fast_memcmp;
14 changes: 14 additions & 0 deletions src/common/hashtable/src/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,18 @@ pub unsafe fn read_le(data: *const u8, len: usize) -> u64 {
}
}

#[cfg(all(target_arch = "x86_64", target_feature = "sse4.2"))]
#[inline]
pub fn fast_memcmp(a: &[u8], b: &[u8]) -> bool {
unsafe { sse::memcmp_sse(a, b) }
}

#[cfg(not(all(any(target_arch = "x86_64"), target_feature = "sse4.2")))]
#[inline]
pub fn fast_memcmp(a: &[u8], b: &[u8]) -> bool {
a == b
}

#[cfg(all(target_arch = "x86_64", target_feature = "sse4.2"))]
pub mod sse {
use std::arch::x86_64::*;
Expand Down Expand Up @@ -137,6 +149,8 @@ pub mod sse {
))
}

/// # Safety
/// This is safe that we compare bytes via addr
#[inline(always)]
pub unsafe fn memcmp_sse(a: &[u8], b: &[u8]) -> bool {
let mut size = a.len();
Expand Down
Loading
Loading