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

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

    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: