8000 Feature/zkd index speedup getnextzvalue by goedderz · Pull Request #13799 · arangodb/arangodb · GitHub
[go: up one dir, main page]

Skip to content

Feature/zkd index speedup getnextzvalue #13799

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

Merged
merged 4 commits into from
Mar 25, 2021

Conversation

goedderz
Copy link
Member
@goedderz goedderz commented Mar 24, 2021

Scope & Purpose

Performance improvement in getNextZValue()

@goedderz goedderz self-assigned this Mar 24, 2021
@goedderz goedderz force-pushed the feature/zkd-index-speedup-getnextzvalue branch from 5eb667d to b6d7030 Compare March 24, 2021 14:24
@maierlars
Copy link
Contributor

@goedderz goedderz marked this pull request as ready for review March 24, 2021 15:59
@maierlars
Copy link
Contributor

@maierlars maierlars merged commit aaddb71 into feature/zkd-index Mar 25, 2021
@maierlars maierlars deleted the feature/zkd-index-speedup-getnextzvalue branch March 25, 2021 10:20
maierlars pushed a commit that referenced this pull request Jan 5, 2022
* Bootstrap zkd indexes. Now fill in the details.

* Added prototype for condition finder.

* Added helper for Range.

* Fixed double conversion.

* Added wrong but working nextImpl

* Extract bounds for iterator.

* Fixed extraction logic with reversed operator usage.

* Detect equal operator correctly.

* Implemented nextImpl

* Removed log devel for hot path.

* Cleanup

* Added support for partially unbounded queries.

* Do not use index for full collection scans.

* Added tests for ZkdHelper.

* Added functional test suite skeleton for zkd index

* Some fixes to double conversions

* Fixed bug in double to byte_string conversion.

* Added support for denormalized doubles and infinity.

* Test all interesting double values.

* Disallow Nan.

* Added more js tests.

* Added a lot of tests.

* Cleaned up test.

* [zkd] Strict comparsion (#13673)

* Added support for strict comparsion.

* Allow unsupported conditions. Correctly display conditions that are strict in explainer.

* Fixed some now broken tests.

* Apply suggestions from code review

Co-authored-by: Tobias Gödderz <tobias@arangodb.com>

Co-authored-by: Tobias Gödderz <tobias@arangodb.com>

* [zkd] Cluster support (#13677)

* Added support for cluster.

* Fixing unit tests namespace using.

* Added support for nested fields - excluding expansions. (#13681)

* Added support for nested fields - excluding expansions.

* Added tests for nested attributes.

* [zkd] Unique Constraints (#13691)

* Added support for unique constraint.

* Added tests for unique constraints.

* [zkd] Forward Compat (#13694)

* Added required field fieldValueTypes: double.

* Refactored index attribute validation. Disallowed attribute expansions.

* Added tests for restrictions.

* Fixing normalization of zkd index definition.

* [zkd] Column Family (#13692)

* Added a new column family for the zkd index.

* Changed write buffer number to 8 + 2.

* Added zkd index docu block. (#13698)

* Fixed bug in RocksDBKeyBounds and using default cost estimation

* [zkd] testInBox speedup (#13798)

* Performance optimized testInBox.

* Optimized performance of compareWithBox.

* Now actually use the optimized version.

* Resize vector before usage.

* Clear vector before reusing CompareResults.

* Eliminate div operation.

* Another div in testInBox.

* Count finished dimensions.

* Removed unused functions.

* Use small vector.

* Fixed goto bug and resize short vector properly.

* Apply suggestions from code review

Co-authored-by: Tobias Gödderz <tobias@arangodb.com>

Co-authored-by: Tobias Gödderz <tobias@arangodb.com>

* Feature/zkd index speedup getnextzvalue (#13799)

* Avoid interleave&transpose in getNextZValue()

* Change order of actual/expected in test assertion

* Minor improvements

* Removed superfluous transpose calls

* Updated CHANGELOG.

* Fixing iterator.

* Added review suggestions.

* using lookahead in zkd

* added forgotten declaration

* added forgotten condering of the new option

* Applied suggestions from review.

* removed tryNewIndex option, now decided by lookahead==0

* unified default lookaheads for zkd to 1, made one of them const

* added testing with lookahead 32 in aql-optimizer-zkdindex-multi.js

* Applied clang-format

Co-authored-by: maierlars <lars@arangodb.com>
Co-authored-by: Tobias Gödderz <tobias@arangodb.com>
Co-authored-by: Michael Hackstein <michael@arangodb.com>
dothebart pushed a commit that referenced this pull request Jan 5, 2022
* Bootstrap zkd indexes. Now fill in the details.

* Added prototype for condition finder.

* Added helper for Range.

* Fixed double conversion.

* Added wrong but working nextImpl

* Extract bounds for iterator.

* Fixed extraction logic with reversed operator usage.

* Detect equal operator correctly.

* Implemented nextImpl

* Removed log devel for hot path.

* Cleanup

* Added support for partially unbounded queries.

* Do not use index for full collection scans.

* Added tests for ZkdHelper.

* Added functional test suite skeleton for zkd index

* Some fixes to double conversions

* Fixed bug in double to byte_string conversion.

* Added support for denormalized doubles and infinity.

* Test all interesting double values.

* Disallow Nan.

* Added more js tests.

* Added a lot of tests.

* Cleaned up test.

* [zkd] Strict comparsion (#13673)

* Added support for strict comparsion.

* Allow unsupported conditions. Correctly display conditions that are strict in explainer.

* Fixed some now broken tests.

* Apply suggestions from code review

Co-authored-by: Tobias Gödderz <tobias@arangodb.com>

Co-authored-by: Tobias Gödderz <tobias@arangodb.com>

* [zkd] Cluster support (#13677)

* Added support for cluster.

* Fixing unit tests namespace using.

* Added support for nested fields - excluding expansions. (#13681)

* Added support for nested fields - excluding expansions.

* Added tests for nested attributes.

* [zkd] Unique Constraints (#13691)

* Added support for unique constraint.

* Added tests for unique constraints.

* [zkd] Forward Compat (#13694)

* Added required field fieldValueTypes: double.

* Refactored index attribute validation. Disallowed attribute expansions.

* Added tests for restrictions.

* Fixing normalization of zkd index definition.

* [zkd] Column Family (#13692)

* Added a new column family for the zkd index.

* Changed write buffer number to 8 + 2.

* Added zkd index docu block. (#13698)

* Fixed bug in RocksDBKeyBounds and using default cost estimation

* [zkd] testInBox speedup (#13798)

* Performance optimized testInBox.

* Optimized performance of compareWithBox.

* Now actually use the optimized version.

* Resize vector before usage.

* Clear vector before reusing CompareResults.

* Eliminate div operation.

* Another div in testInBox.

* Count finished dimensions.

* Removed unused functions.

* Use small vector.

* Fixed goto bug and resize short vector properly.

* Apply suggestions from code review

Co-authored-by: Tobias Gödderz <tobias@arangodb.com>

Co-authored-by: Tobias Gödderz <tobias@arangodb.com>

* Feature/zkd index speedup getnextzvalue (#13799)

* Avoid interleave&transpose in getNextZValue()

* Change order of actual/expected in test assertion

* Minor improvements

* Removed superfluous transpose calls

* Updated CHANGELOG.

* Fixing iterator.

* Added review suggestions.

* using lookahead in zkd

* added forgotten declaration

* added forgotten condering of the new option

* Applied suggestions from review.

* removed tryNewIndex option, now decided by lookahead==0

* unified default lookaheads for zkd to 1, made one of them const

* added testing with lookahead 32 in aql-optimizer-zkdindex-multi.js

* Applied clang-format

Co-authored-by: maierlars <lars@arangodb.com>
Co-authored-by: Tobias Gödderz <tobias@arangodb.com>
Co-authored-by: Michael Hackstein <michael@arangodb.com>
maierlars pushed a commit that referenced this pull request Jan 7, 2022
* Bootstrap zkd indexes. Now fill in the details.

* Added prototype for condition finder.

* Added helper for Range.

* Fixed double conversion.

* Added wrong but working nextImpl

* Extract bounds for iterator.

* Fixed extraction logic with reversed operator usage.

* Detect equal operator correctly.

* Implemented nextImpl

* Removed log devel for hot path.

* Cleanup

* Added support for partially unbounded queries.

* Do not use index for full collection scans.

* Added tests for ZkdHelper.

* Added functional test suite skeleton for zkd index

* Some fixes to double conversions

* Fixed bug in double to byte_string conversion.

* Added support for denormalized doubles and infinity.

* Test all interesting double values.

* Disallow Nan.

* Added more js tests.

* Added a lot of tests.

* Cleaned up test.

* [zkd] Strict comparsion (#13673)

* Added support for strict comparsion.

* Allow unsupported conditions. Correctly display conditions that are strict in explainer.

* Fixed some now broken tests.

* Apply suggestions from code review

Co-authored-by: Tobias Gödderz <tobias@arangodb.com>

Co-authored-by: Tobias Gödderz <tobias@arangodb.com>

* [zkd] Cluster support (#13677)

* Added support for cluster.

* Fixing unit tests namespace using.

* Added support for nested fields - excluding expansions. (#13681)

* Added support for nested fields - excluding expansions.

* Added tests for nested attributes.

* [zkd] Unique Constraints (#13691)

* Added support for unique constraint.

* Added tests for unique constraints.

* [zkd] Forward Compat (#13694)

* Added required field fieldValueTypes: double.

* Refactored index attribute validation. Disallowed attribute expansions.

* Added tests for restrictions.

* Fixing normalization of zkd index definition.

* [zkd] Column Family (#13692)

* Added a new column family for the zkd index.

* Changed write buffer number to 8 + 2.

* Added zkd index docu block. (#13698)

* Fixed bug in RocksDBKeyBounds and using default cost estimation

* [zkd] testInBox speedup (#13798)

* Performance optimized testInBox.

* Optimized performance of compareWithBox.

* Now actually use the optimized version.

* Resize vector before usage.

* Clear vector before reusing CompareResults.

* Eliminate div operation.

* Another div in testInBox.

* Count finished dimensions.

* Removed unused functions.

* Use small vector.

* Fixed goto bug and resize short vector properly.

* Apply suggestions from code review

Co-authored-by: Tobias Gödderz <tobias@arangodb.com>

Co-authored-by: Tobias Gödderz <tobias@
6F2C
arangodb.com>

* Feature/zkd index speedup getnextzvalue (#13799)

* Avoid interleave&transpose in getNextZValue()

* Change order of actual/expected in test assertion

* Minor improvements

* Removed superfluous transpose calls

* Updated CHANGELOG.

* Fixing iterator.

* Added review suggestions.

* using lookahead in zkd

* added forgotten declaration

* added forgotten condering of the new option

* Applied suggestions from review.

* removed tryNewIndex option, now decided by lookahead==0

* unified default lookaheads for zkd to 1, made one of them const

* added testing with lookahead 32 in aql-optimizer-zkdindex-multi.js

* Applied clang-format

Co-authored-by: maierlars <lars@arangodb.com>
Co-authored-by: Tobias Gödderz <tobias@arangodb.com>
Co-authored-by: Michael Hackstein <michael@arangodb.com>
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.

2 participants
0