[ 
https://issues.apache.org/jira/browse/DAFFODIL-1685?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17043898#comment-17043898
 ] 

Mike Beckerle commented on DAFFODIL-1685:
-----------------------------------------

See also DAFFODIL-1749

> Full validation should create and initialize the validator before 
> parsing/unparsing begins
> ------------------------------------------------------------------------------------------
>
>                 Key: DAFFODIL-1685
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-1685
>             Project: Daffodil
>          Issue Type: Improvement
>          Components: Back End, Performance
>    Affects Versions: 2.0.0
>            Reporter: Mike Beckerle
>            Priority: Major
>
> In many applications, validation will be turned on.
> In 2.0.0-rc2, it was observed that parse time increases with the volume of 
> non-DFDL comments/annotations in the schema. 
> This was with validation on. The explanation for this is that validation, 
> which calls xerces currently, is constructing the validator and this cost is 
> viewed as part of the cost of parsing, or perhaps even constructing the 
> validator for every parse call.
> Now we're switching to woodstox for XML parsing. This is a validating parser 
> also, so we could try using it to speed up validation. 
> Nevertheless we should make sure as much is hoisted out of parse time as 
> possible. 
> Certainly we should try creating the validator object once; on the latest 
> 2.0.0 currently there is code that does this once per thread (it does not 
> assume the validator, when initialized, is thread safe - perhaps we can 
> determine this and create only one, not one per thread.)
> Within the same thread the same validator will be used, but across threads it 
> will not. 
> It is initialized on first use, which probably shows up as part of parse time 
> - involves reading the entire extended schema, resolving all file references, 
> etc. Lots of cost here.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to