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

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

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

Dave Thompson reopened DAFFODIL-2619:
-------------------------------------

During the nightly performance test run the jpeg2000 unparse test "jpeg2000_1t_55m_50_unparse" (test 17 of 44) appeared to take around 8 hours to load the test test file.

The time when test jpeg2000_1t_55m_50_unparse was initiated, header: 

 ---------------------------------------------------------------------

Tue Jan 11 00:57:44 2022: Running test 17 of 44: jpeg2000_1t_55m_50_unparse

---------------------------------------------------------------------

And the time the test actually started:

Tue Jan 11 08:31:11 2022: Run: 1 of 10 Tue Jan 11 08:31:11 2022: ....

Initiated at 00:57:44 and test start 08:31:11, almost 8 hours. When I got in this morning (around 6:00am) the scripts were still running pre test 17 iterating 2 of 10. 

 

> 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
>            Priority: Major
>             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)