Improve ValueGuard performance

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 6.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • QE 2022-08-08, QE 2022-08-22
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      The call to releaseValue() is not inlined, (link). Also, it's very common that we dismiss a ValueGuard before it's destroyed, which means the call to releaseValue() does nothing.

      We can improve this by avoiding the call to releaseValue() when the owned value is Nothing. We could extend this for all shallow types, but it would require changing the layout of TypeTags.

      A test version of this change has shown a measurable improvement on some queries.

            Assignee:
            Parker Felix
            Reporter:
            Ian Boros
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: