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

Generic column trait #1782

Merged
merged 1 commit into from
Jan 16, 2023
Merged

Generic column trait #1782

merged 1 commit into from
Jan 16, 2023

Conversation

fulmicoton
Copy link
Collaborator

@fulmicoton fulmicoton commented Jan 12, 2023

Integrated fastfield codecs into columnar.

Introduced asymetric OptionalCodec / SerializableOptionalCodec
Removed cardinality from the columnar sstable.
Added DynamicColumn
Reorganized all files
Change DenseCodec serialization logic.
AFTER

bench_translate_codec_to_orig_10percent_filled_0comma005percent_hit ... bench:       1,240 ns/iter (+/- 27)
bench_translate_codec_to_orig_1percent_filled_0comma005percent_hit  ... bench:          16 ns/iter (+/- 0)
bench_translate_codec_to_orig_1percent_filled_10percent_hit         ... bench:       4,184 ns/iter (+/- 129)
bench_translate_codec_to_orig_1percent_filled_full_scan             ... bench:      39,512 ns/iter (+/- 499)
bench_translate_codec_to_orig_90percent_filled_0comma005percent_hit ... bench:       7,511 ns/iter (+/- 154)
bench_translate_codec_to_orig_90percent_filled_full_scan            ... bench:  19,662,728 ns/iter (+/- 809,557)
bench_translate_orig_to_codec_10percent_filled_1percent_hit         ... bench:     150,112 ns/iter (+/- 2,320)
bench_translate_orig_to_codec_1percent_filled_10percent_hit         ... bench:     520,027 ns/iter (+/- 7,195)
bench_translate_orig_to_codec_50percent_filled_1percent_hit         ... bench:     183,406 ns/iter (+/- 8,418)
bench_translate_orig_to_codec_5percent_filled_10percent_hit         ... bench:     650,959 ns/iter (+/- 4,232)
bench_translate_orig_to_codec_5percent_filled_1percent_hit          ... bench:      56,902 ns/iter (+/- 1,997)
bench_translate_orig_to_codec_90percent_filled_1percent_hit         ... bench:     148,000 ns/iter (+/- 11,159)
bench_translate_orig_to_codec_full_scan_10percent_filled            ... bench:   3,797,564 ns/iter (+/- 357,180)
bench_translate_orig_to_codec_full_scan_1percent_filled             ... bench:  15,200,299 ns/iter (+/- 216,126)
bench_translate_orig_to_codec_full_scan_90percent_filled            ... bench:   3,423,527 ns/iter (+/- 25,203)



BEFORE

bench_translate_codec_to_orig_10percent_filled_0comma005percent_hit ... bench:       1,997 ns/iter (+/- 79)
bench_translate_codec_to_orig_1percent_filled_0comma005percent_hit  ... bench:         116 ns/iter (+/- 2)
bench_translate_codec_to_orig_1percent_filled_10percent_hit         ... bench:      14,965 ns/iter (+/- 308)
bench_translate_codec_to_orig_1percent_filled_full_scan             ... bench:      62,485 ns/iter (+/- 2,933)
bench_translate_codec_to_orig_90percent_filled_0comma005percent_hit ... bench:      10,985 ns/iter (+/- 174)
bench_translate_codec_to_orig_90percent_filled_full_scan            ... bench:  19,496,064 ns/iter (+/- 357,611)
bench_translate_orig_to_codec_10percent_filled_1percent_hit         ... bench:     169,992 ns/iter (+/- 1,377)
bench_translate_orig_to_codec_1percent_filled_10percent_hit         ... bench:     538,824 ns/iter (+/- 9,441)
bench_translate_orig_to_codec_50percent_filled_1percent_hit         ... bench:     205,578 ns/iter (+/- 4,559)
bench_translate_orig_to_codec_5percent_filled_10percent_hit         ... bench:     684,493 ns/iter (+/- 7,618)
bench_translate_orig_to_codec_5percent_filled_1percent_hit          ... bench:      55,148 ns/iter (+/- 1,855)
bench_translate_orig_to_codec_90percent_filled_1percent_hit         ... bench:     176,856 ns/iter (+/- 2,302)
bench_translate_orig_to_codec_full_scan_10percent_filled            ... bench:   4,008,072 ns/iter (+/- 36,264)
bench_translate_orig_to_codec_full_scan_1percent_filled             ... bench:  14,601,682 ns/iter (+/- 90,767)
bench_translate_orig_to_codec_full_scan_90percent_filled            ... bench:   4,885,019 ns/iter (+/- 30,380)

@fulmicoton fulmicoton force-pushed the generic-column-trait branch 3 times, most recently from 44d010c to b25128c Compare January 12, 2023 07:11
@codecov-commenter
Copy link

codecov-commenter commented Jan 12, 2023

Codecov Report

Merging #1782 (f249c96) into main (7a8fce0) will increase coverage by 0.06%.
The diff coverage is n/a.

❗ Current head f249c96 differs from pull request most recent head 681d68a. Consider uploading reports for the commit 681d68a to get more accurate results

@@            Coverage Diff             @@
##             main    #1782      +/-   ##
==========================================
+ Coverage   94.12%   94.18%   +0.06%     
==========================================
  Files         282      271      -11     
  Lines       52908    51720    -1188     
==========================================
- Hits        49798    48713    -1085     
+ Misses       3110     3007     -103     
Impacted Files Coverage Δ
fastfield_codecs/src/monotonic_mapping.rs 92.02% <0.00%> (-7.98%) ⬇️
src/query/query.rs 82.45% <0.00%> (-4.73%) ⬇️
sstable/src/block_reader.rs 73.77% <0.00%> (-1.64%) ⬇️
sstable/src/lib.rs 97.53% <0.00%> (-1.24%) ⬇️
src/store/index/mod.rs 97.83% <0.00%> (-0.55%) ⬇️
fastfield_codecs/src/compact_space/mod.rs 96.76% <0.00%> (-0.17%) ⬇️
src/core/searcher.rs 78.23% <0.00%> (-0.15%) ⬇️
src/aggregation/segment_agg_result.rs 91.41% <0.00%> (-0.09%) ⬇️
src/query/term_query/term_query.rs 96.90% <0.00%> (-0.04%) ⬇️
src/aggregation/mod.rs 98.84% <0.00%> (-0.04%) ⬇️
... and 29 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

columnar/README.md Outdated Show resolved Hide resolved
columnar/src/TODO.md Outdated Show resolved Hide resolved
columnar/src/column_index/optional_index/mod.rs Outdated Show resolved Hide resolved
columnar/src/columnar/format_version.rs Outdated Show resolved Hide resolved
columnar/src/columnar/writer/value_index.rs Outdated Show resolved Hide resolved
@fulmicoton fulmicoton force-pushed the generic-column-trait branch 9 times, most recently from 434b49e to 21fbc0e Compare January 16, 2023 06:02
Introduced asymetric OptionalCodec / SerializableOptionalCodec
Removed cardinality from the columnar sstable.
Added DynamicColumn
Reorganized all files
Change DenseCodec serialization logic.
Renamed methods to rank/select
Moved versioning footer to the columnar level
@fulmicoton fulmicoton marked this pull request as ready for review January 16, 2023 07:13
@fulmicoton fulmicoton merged commit 25bad78 into main Jan 16, 2023
@fulmicoton fulmicoton deleted the generic-column-trait branch January 16, 2023 08:24
fulmicoton added a commit that referenced this pull request Jan 16, 2023
Introduced asymetric OptionalCodec / SerializableOptionalCodec
Removed cardinality from the columnar sstable.
Added DynamicColumn
Reorganized all files
Change DenseCodec serialization logic.
Renamed methods to rank/select
Moved versioning footer to the columnar level
Hodkinson pushed a commit to Hodkinson/tantivy that referenced this pull request Jan 30, 2023
Introduced asymetric OptionalCodec / SerializableOptionalCodec
Removed cardinality from the columnar sstable.
Added DynamicColumn
Reorganized all files
Change DenseCodec serialization logic.
Renamed methods to rank/select
Moved versioning footer to the columnar level
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants