You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by "Steve Lawrence (Jira)" <ji...@apache.org> on 2022/01/05 15:18:00 UTC

[jira] [Created] (DAFFODIL-2619) Add InfosetInputter with minimal overhead

Steve Lawrence created DAFFODIL-2619:
----------------------------------------

             Summary: Add InfosetInputter with minimal overhead
                 Key: DAFFODIL-2619
                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2619
             Project: Daffodil
          Issue Type: Bug
          Components: Performance
            Reporter: Steve Lawrence
            Assignee: Steve Lawrence
             Fix For: 3.3.0


When unparsing, some amount of performance can be attributed to parsing/traversing the infoset representation (e.g. text, Scala, JDOM) and converting it to the infoset events that Daffodil requires. This is done via an InfosetInputter. Because an InfosetInputter is required during unparsing (unlike parse which can have a null InfosetOutputter) it is difficult to determine how much overhead comes from the InfosetInputter and how much comes from the actual unpasing operations.

One potential option to get a better pictures of raw unparse speed vs InfosetInputter overhead is to create a new InfosetInputter that uses a pre-created array of events that are as close as possible to what Daffodil expects. This way, the overhead of creating the event array can occur outside any measured unparser code, and the overhead of the InfosetInputter that does occur inside measured code is quite small--just the amount to index into this array and return the event information.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)