Possible performance improvements to the Serializer Finder

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Unknown
    • None
    • Affects Version/s: 3.6.0
    • Component/s: LINQ
    • None
    • None
    • Dotnet Drivers
    • None
    • None
    • None
    • None
    • None
    • None

      The Serializer Finder is a multi pass algorithm that walks the Expression tree multiple times to propagate serializer information across the whole expression. 

      We currently require a minimum of 4 passes:

      1. At least one pass to propagate serializer information
      2. One pass to discover no further progress can be made
      3. At least one pass to assign default serializers to constants and propagate that further
      4. One final pass to determine no further progress can be made

      The reason we don't assign default serializers to constants in the initial passes is that in many cases the constants will be assigned serializers deduced from the context around them and we don't want to assign a default serializer prematurely.

      Possible performance improvements that come to mind are:

      1. Ensure that we make as much progress as possible in each pass
      2. Track subtrees that have been fully processed and skip them in later passes

       

            Assignee:
            Unassigned
            Reporter:
            Robert Stam (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: