Uploaded image for project: 'Daffodil'
  1. Daffodil
  2. DAFFODIL-1785

SimpleTypeRuntimeData facet evaluation causes slow compile time

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Cannot Reproduce
    • None
    • None
    • Back End, Middle "End"
    • None

    Description

      The code in Facets.scala and RestrictionUnion.scala appears to cause a notcable hit in performance (maybe 20% on a very large file with lots of restrictions). If I replace all the facet information in in the��SimpleTypeRuntimeData constructor with Nil's and None's, compile time decreases. I suspect there are some performance improvements we can make with Facets.scal and ResttrictoinUntion. A quick cursory sees some duplicating effort (e.g. multiple calls to xml
      "restriction", which is probably pretty slow itself. Facets.scala is kindof messy and hard to read, so a redisgn/refactoring might make it easier to improve this aspect of compilation.

      Also, removing the requiredEvaluations in Facets.scala also helps quite a bit. Seems perhaps the pattern one might be the worse offender.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            slawrence Steve Lawrence
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment