I have been working on DAFFODIL-1444 which is about improving schema 
compilation space/speed.

I wanted to report on progress.

Two schemas that take a long time to compile are EDIFACT and HL7-v2.7.

I show below the improvement in schema compilation performance. I am comparing 
the current Daffodil 2.5.0 master as of 2019-12-05 15:00 US.ET (before), to my 
development sandbox (after).

The test compiles the schema, and does a save of the compiled schema to a null 
output stream.


 before
after
EDIFACT
88 seconds
11 seconds
HL7
35 seconds
 5 seconds

This is a factor of 7 to 8 or so on these schemas.

Caveats: almost all optimizations are turned off,  so runtime would be slow, 
and in fact without alignment optimizations many unparser tests fail due to 
circular deadlocks on forward-computed length.

So next is putting the basic optimizations back in and getting all tests to 
work.

There are additional improvements possible which should further improve schema 
compilation time substantially.





Reply via email to