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

Implement fast path for ASCII range in strnxfrm_onelevel_internal()

    XMLWordPrintable

    Details

      Description

      During benchmarking, Axel revealed a bottleneck inside MY_FUNCTION_NAME(strnxfrm_onelevel_internal) in ctype-uca.ic.

      The problem is that calling my_uca_scanner_init_any() followed by a loop of MY_FUNCTION_NAME(scanner_next)() calls is costly.

      Under terms of this task we'll add a fast path for the ASCII range into this strnxfrm_onelevel_internal().

      • In the best scenario, when the input string is a pure ASCII, the execution will not even reach my_uca_scanner_init_any().
      • In a worse scenario, when there is an ASCII prefix followed by a non-ASCII suffix, the ASCII part will be processed faster.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              bar Alexander Barkov
              Reporter:
              bar Alexander Barkov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: