[ 
https://issues.apache.org/jira/browse/DAFFODIL-1877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dave Thompson closed DAFFODIL-1877.
-----------------------------------

Verified the latest updates from the incubator-daffodil repository included the 
specified commit, 5c3b495b9841dd975296323413fb4773380cbb2e.

Executed the nightly script to force daffodil build and regeneration of the 
data type parser .bin files. The time for parser generation is now comparable 
to parser generation prior to this issue.

> Slow schema compilation due to unambiguous checks
> -------------------------------------------------
>
>                 Key: DAFFODIL-1877
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-1877
>             Project: Daffodil
>          Issue Type: Bug
>          Components: Front End, Performance
>            Reporter: Steve Lawrence
>            Assignee: Dave Thompson
>            Priority: Major
>             Fix For: 2.1.0
>
>
> Commit 02c8324294ed4395c1231c6ea3ec6ae77139ba46 caused ATO schema compilation 
> time to jump from about 10 seconds to over 2 minutes. Large increases were 
> also seen in VMF schema compilation.
> Some debugging showed that the cause is likely in the 
> DFDLPathExpressionCompiler. Wrapping the following code the compiles an 
> individual expression in a Timer shows an average of 9000% increase in time 
> to compile.
> ```scala
> val compiler = new DFDLPathExpressionParser[T](qn,
>  nodeInfoKind, namespaces, compileInfoWherePropertyWasLocated, 
> isEvaluatedAbove)
>  val compiledDPath = compiler.compile(expr)
>  compiledDPath
> ```
> So this most likely has something to do with schema compilation. Nothing 
> jumps out at me in the specified commit as being especially egregious to 
> cause such a performance degredation. All the really changed was passing an 
> extra parameter for error accumulation and changing how 
> isReferencedByExpressions is set. I wouldn't expect that to cause such 
> performance changes. Perhaps it is findNamedMatches now allocating a Seq?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to