You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by "Mike Beckerle (Jira)" <ji...@apache.org> on 2021/01/21 20:53:00 UTC
[jira] [Closed] (DAFFODIL-1787) Performance: Investigate property
lookups
[ https://issues.apache.org/jira/browse/DAFFODIL-1787?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mike Beckerle closed DAFFODIL-1787.
-----------------------------------
Resolution: Cannot Reproduce
Need profiling
> Performance: Investigate property lookups
> -----------------------------------------
>
> Key: DAFFODIL-1787
> URL: https://issues.apache.org/jira/browse/DAFFODIL-1787
> Project: Daffodil
> Issue Type: Bug
> Components: Front End
> Reporter: Steve Lawrence
> Priority: Major
>
> For obvious reasons, we do a lot of property lookups. This needs to be made as fast as possible. It looks like we might be doing a lot of allocations when trying to find a property. I suspect part of the reason for this is that when a property isn't found, it returns a NotFound, which contains two lists of places where it looked. We end up going up the chain sometimes, creating NotFound's until we find a property, at which point the NotFounds are discarded and the Found is returned. This is very useful for diagnostics when a property isn't defined. However, many properties come form the default, so we end up creating lots of NotFound's that end up being discarded.
> Instead of gather up places looked we should have two functions. The first function just looks up the property chain for the property, and either returns an Option[String], either if found it or it didn't. If it wasn't found, then we have a second function that will gather up the places it looked to print the error message. This should help to reduce��list allocations that just get thrown away and speed up property look ups.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)