You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During context injection, there are method and field annotation lookups, plus event handler registration, that is repeated when the results should be consistent for a given set of input parameters.
The repetition of these queries leads to significant overhead during high loads of context injection.
Aside from cleanup and documentation, do you think it's worth waiting to merge until we have a cache service that can manage these cached objects? Otherwise I'm worried about their endless proliferation.
(also, the current caches are slightly wrong at the moment because of the recursion of the annotation scraping)
Hmm... I would have to spend time to wrap my head around those methods to understand the commits. Do you have any numbers about performance improvements? (If it improves how fast SCIFIO opens files, I will set aside time to review the commits, but if there are lower hanging fruits, I'd prefer to go for them first.)
OK I'm happy with this now that I have semi-consolidated the getAnnotatedMethods and getAnnotatedFields logic in a way that allows for arbitrary annotation:object scrapings in a single recursion operation.
@ctrueden if you get a chance can you sign off on this? Since it's a low-level change I want another pair of eyes on it.
Activity
hinerm commentedon Jan 26, 2015
@dietzc @ctrueden @dscho I have a partial solution on https://github.com/scijava/scijava-common/tree/cache-annotations
Aside from cleanup and documentation, do you think it's worth waiting to merge until we have a cache service that can manage these cached objects? Otherwise I'm worried about their endless proliferation.
(also, the current caches are slightly wrong at the moment because of the recursion of the annotation scraping)
dscho commentedon Jan 26, 2015
Hmm... I would have to spend time to wrap my head around those methods to understand the commits. Do you have any numbers about performance improvements? (If it improves how fast SCIFIO opens files, I will set aside time to review the commits, but if there are lower hanging fruits, I'd prefer to go for them first.)
hinerm commentedon Jan 26, 2015
@dscho yes I do. Pretty graph is coming soon.
hinerm commentedon Jan 26, 2015
Hey look, a chart
Results from running a 7KB .tif
hinerm commentedon Jan 26, 2015
Force pushed my latest changes, which I believe are now correct, and improve the Cache-Fixes times slightly.
hinerm commentedon Jan 27, 2015
OK I'm happy with this now that I have semi-consolidated the
getAnnotatedMethodsandgetAnnotatedFieldslogic in a way that allows for arbitrary annotation:object scrapings in a single recursion operation.@ctrueden if you get a chance can you sign off on this? Since it's a low-level change I want another pair of eyes on it.
ctrueden commentedon Jan 27, 2015
Wrote a bunch of comments! (They would be visible here had you filed a PR like normal people do. 😛)
hinerm commentedon Feb 4, 2015
Continuing my trend of not acting like a normal person, I did not make a merge commit that closed this issue!
So instead, see these commits which resolved this issue.