Uploaded image for project: 'Daffodil'
  1. Daffodil
  2. DFDL-1370

Performance: DFA needs to grab existing data on non-match for diagnostic message purposes

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Normal Normal
    • 2.0.0
    • None
    • None
    • None

    Description

      Current code has HasDelimiterText trait/class - which has been renamed to ComputeValueFoundInstead.

      This uses a bunch of trickery to access the data stream so as to be able to display, in a diagnostic message, what was found that was not a delimiter, that is, what was found instead of a delimiter.

      This is a very expensive operation, or seems like it is, and it is done every time we backtrack because the non-matching data must be captured whenever a delimiter is not matched. This overhead cannot be delayed until the diagnostic message is actually issued.

      Really the right way for this to work is the DFA should capture this as part of its matching process, where it will add no additional real overhead.

      Gliffy Diagrams

        Attachments

          Activity

            People

              efinnegan Elizabeth Finnegan
              mbeckerle.dfdl Mike Beckerle
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Tasks