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

ReadViewBase::m_ids had better use an initial fixed part

    XMLWordPrintable

Details

    Description

      The ReadViewBase::m_ids is a std::vector of 64-bit transaction IDs. It would seem to be better to use something like small_vector<trx_id_t, 16>.

      Even better for the case that ReadViewBase::m_low_limit_id and ReadViewBase::m_up_limit_id are close to each other, we could allocate a fixed-size bitmap, say, 512 bits to correspond to values between m_low_limit_id and m_low_limit_id+511.

      Perhaps we could define a union of a bitmap and a dynamically allocated std::vector. One bit could distinguish which one is in use, or it could be distinguished by m_up_limit_id-m_low_limit_id>512.

      This idea is inspired by https://github.com/enhancedformysql

      Attachments

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              marko Marko Mäkelä
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

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