Skip to content

Commit a02798a

Browse files
nicola-cabfinnschiermerjedelbo
authored
RCORE-2058 Adding clickbench importer and query tool for evaluating compression (#7664)
* update next-major * specified part of new layout (new width encoding) * new header format for compressed arrays * code review * code review * start of classifying arrays for compression * classification down to column types * first attempt to cut through the BPlusTree madness * [wip] start on 'type driven' write process * all tests passing (but no compression enabled) * enabled compression for signed integer leafs only * removed some dubious constructions in cluster tree * delete tmp array while classifying arrays * enabled compression of links and backlinks (excl collections) * also compress bplustree of integers/links (experimental) * pref for compressing dicts (not working) * wip * wip * finally: compressing collections (incl dicts) * compressing timestamps now * enabled compression on ObjectID, TypedLink and UUID * also compressing Mixed properties (not list/dicts of Mixed) * Array compression with collections in Mixed (#7412) --------- Co-authored-by: Finn Schiermer Andersen <[email protected]> * merge next-major + collection in mixed * enable dynamic choice of compression method * moved typed_write/typed_print for bptree into class * Merge pull request #7432 from realm/fsa/clean_typed_write moved typed_write/typed_print for bptree into class * cleanup unrelated code changes * fix compilation * cleanup * code review * code review * scaffolding for accessing unaligned memory inside compressed arrays * introducing parallel scan for scanning in one go multiple compressed arrays * Silence warning * tests + point fix for upper bound * fix ubsan * added clickbench data ingestor * Added 2 queries to clickbench * separated out a clickquery benchmark * separated out a clickquery benchmark * update to clickbench and query * fix warnings * attempt to fix windows builders * silence warnings * fix importer --------- Co-authored-by: Finn Schiermer Andersen <[email protected]> Co-authored-by: Jørgen Edelbo <[email protected]> Co-authored-by: Finn Schiermer Andersen <[email protected]>
1 parent bb518a4 commit a02798a

File tree

6 files changed

+487
-4
lines changed

6 files changed

+487
-4
lines changed

src/realm/array_direct.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -693,7 +693,7 @@ inline size_t first_field_marked(size_t width, uint64_t vector)
693693
}
694694

695695
template <typename VectorCompare>
696-
size_t parallel_subword_find(VectorCompare vector_compare, const uint64_t* data, size_t offset, size_t width,
696+
size_t parallel_subword_find(VectorCompare vector_compare, const uint64_t* data, size_t offset, uint8_t width,
697697
uint64_t MSBs, uint64_t search_vector, size_t start, size_t end)
698698
{
699699
const auto field_count = num_fields_for_width(width);

src/realm/exec/CMakeLists.txt

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,28 @@ if (EMSCRIPTEN)
2424
set_target_properties(RealmTrawler PROPERTIES EXCLUDE_FROM_ALL TRUE)
2525
endif()
2626

27+
add_executable(ClickBench EXCLUDE_FROM_ALL clickbench.cpp )
28+
set_target_properties(ClickBench PROPERTIES
29+
OUTPUT_NAME "clickbench"
30+
DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}
31+
)
32+
if (EMSCRIPTEN)
33+
set_target_properties(ClickBench PROPERTIES EXCLUDE_FROM_ALL TRUE)
34+
endif()
35+
36+
target_link_libraries(ClickBench Storage)
37+
38+
add_executable(ClickQuery EXCLUDE_FROM_ALL clickquery.cpp )
39+
set_target_properties(ClickQuery PROPERTIES
40+
OUTPUT_NAME "clickquery"
41+
DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}
42+
)
43+
if (EMSCRIPTEN)
44+
set_target_properties(ClickQuery PROPERTIES EXCLUDE_FROM_ALL TRUE)
45+
endif()
46+
47+
target_link_libraries(ClickQuery Storage)
48+
2749
add_executable(RealmEnumerate realm_enumerate.cpp)
2850
set_target_properties(RealmEnumerate PROPERTIES
2951
OUTPUT_NAME "realm-enumerate"

0 commit comments

Comments
 (0)