[ https://issues.apache.org/jira/browse/DAFFODIL-1447?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dave Thompson closed DAFFODIL-1447. ----------------------------------- Verified the specified commit (commit 92de5ff6c75be0558edc3fe767c8d591688f425c) is included in the latest pull from the incubator-daffodil repository. Verified the incubator-daffodil sbt test suites execute successfully. Verified the nightly test schemas compile and save successfully. Verified the nightly test suite executes successfully. Verified the dfd-schema repository sbt tests execute successfully. > Performance: Improve performance with VariableMap > ------------------------------------------------- > > Key: DAFFODIL-1447 > URL: https://issues.apache.org/jira/browse/DAFFODIL-1447 > Project: Daffodil > Issue Type: Improvement > Components: Back End, Front End, Performance > Affects Versions: 2.0.0 > Reporter: Steve Lawrence > Priority: Major > Fix For: 2.7.0 > > > The hash lookups associated with finding a variable in the variable are > relatively expensive, especially when looking up a variable many times. > Additionally, the purely function data structure is nice, but is slow when > setting variables because a new map must be created. > So, we should chang the VariableMap data structure to just be an array of > stacks, where each index in the array represents a single variable qname, and > the stack represents the current instance. When a new variable instance is > created we push onto the stack. When that instance goes out of scope, we pop > it off. Additionally, DPath should be modified so that variable references > are just an offset into this array. This should make variable access much > faster with minimal allocations. -- This message was sent by Atlassian Jira (v8.3.4#803005)