Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-21955

Packed sort keys: Evaluate performance of dynamic-length mem-comparable data encoding

Details

    • Task
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • N/A
    • Optimizer
    • None

    Description

      Based on the experiments in MDEV-21784, it is interesting to see what would be the performance of dynamic-length mem-comparable key encoding. MyRocks already uses such encoding so it should be fairly easy to try.

      Attachments

        Issue Links

          Activity

            psergei Sergei Petrunia added a comment - A branch with a crude patch implementing this: https://github.com/MariaDB/server/tree/10.5-mdev21955 Benchmark results: https://docs.google.com/spreadsheets/d/1Y7FDgbmhXFigrgLd9pbZnNqbj5PCaxu9a1ahUU_QFRQ/edit?usp=sharing
            psergei Sergei Petrunia added a comment - - edited

            Summary of benchmark results so far:

            Using Packed Keys with Variable-Length Mem-comparable Encoding produces a 10..30% speedup over current implementation of packed keys.

            Looks like this is worth considering implementing for 10.6...

            (Note that this encoding could also be used with priority queue. If one is sorting VARCHAR(255) there should be a gain from sort keys being smaller).

            psergei Sergei Petrunia added a comment - - edited Summary of benchmark results so far: Using Packed Keys with Variable-Length Mem-comparable Encoding produces a 10..30% speedup over current implementation of packed keys. Looks like this is worth considering implementing for 10.6... (Note that this encoding could also be used with priority queue. If one is sorting VARCHAR(255) there should be a gain from sort keys being smaller).

            Relative popularities of charsets according to the feedback plugin: https://gist.github.com/cvicentiu/143ad0750c59b523a47a1aebe0706068

            psergei Sergei Petrunia added a comment - Relative popularities of charsets according to the feedback plugin: https://gist.github.com/cvicentiu/143ad0750c59b523a47a1aebe0706068

            People

              psergei Sergei Petrunia
              psergei Sergei Petrunia
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.