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

Problem: memiavl snapshot format is not optimal #890

Merged
merged 13 commits into from
Mar 1, 2023

Commits on Feb 24, 2023

  1. Problem: (memiavl) offset table is not used to reduce node size

    Solution:
    - store offset table inside keys/values file, so we can reference it with leaf index in nodes.
    - leverage the property of post-order traversal to further reduce some offsets.
    - specialize `Get` operation for persisted node to improve query performance.
    - add native-endian implementation to improve performance.
    
    in the end, the on-disk IAVL tree query performance is on-par with tidwall/btree library
    which is used for cache store.
    yihuang committed Feb 24, 2023
    Configuration menu
    Copy the full SHA
    9b03c6c View commit details
    Browse the repository at this point in the history
  2. cleanup and fix lint

    yihuang committed Feb 24, 2023
    Configuration menu
    Copy the full SHA
    5f5fefb View commit details
    Browse the repository at this point in the history
  3. Apply suggestions from code review

    Signed-off-by: yihuang <huang@crypto.com>
    yihuang authored Feb 24, 2023
    Configuration menu
    Copy the full SHA
    4d031b6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3f726af View commit details
    Browse the repository at this point in the history

Commits on Feb 25, 2023

  1. Configuration menu
    Copy the full SHA
    ac063e1 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2023

  1. cleanup

    yihuang committed Feb 28, 2023
    Configuration menu
    Copy the full SHA
    6cb9fe6 View commit details
    Browse the repository at this point in the history
  2. build recsplit index

    yihuang committed Feb 28, 2023
    Configuration menu
    Copy the full SHA
    650a9c7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d8ad258 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2023

  1. fix lint

    yihuang committed Mar 1, 2023
    Configuration menu
    Copy the full SHA
    d5dcd91 View commit details
    Browse the repository at this point in the history
  2. cleanup

    yihuang committed Mar 1, 2023
    Configuration menu
    Copy the full SHA
    1dcf56b View commit details
    Browse the repository at this point in the history
  3. Apply suggestions from code review

    Signed-off-by: yihuang <huang@crypto.com>
    yihuang authored Mar 1, 2023
    Configuration menu
    Copy the full SHA
    0e4f785 View commit details
    Browse the repository at this point in the history
  4. go mod tidy

    yihuang committed Mar 1, 2023
    Configuration menu
    Copy the full SHA
    aa6a1e9 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b4a10ac View commit details
    Browse the repository at this point in the history