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

Optimizer trace: what's on the execution path when trace=off?

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Fix Version/s: N/A
    • Component/s: Optimizer
    • Labels:
      None

      Description

      Need to check again what is on the execution path (and so adds CPU overhead), when the tracing is not enabled.

      The original tracing proposal had everything wrapped inside if-statements, something like

      #define OPT_TRACE(thd_arg, X)  if (unlikely(thd_arg->trace_enabled))  { X; }
      

      With tracing code using RAII objects, we can't have everything inside if-s.
      MySQL doesn't have everything inside if-statements either.
      What is the added overhead?

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              psergey Sergei Petrunia
              Reporter:
              psergey Sergei Petrunia
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: