Bug 182177 - [performance] JavaCore.newLibraryEntry() has very high invocation count on startup
Summary: [performance] JavaCore.newLibraryEntry() has very high invocation count on st...
Status: RESOLVED WONTFIX
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Debug (show other bugs)
Version: 3.3   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-Debug-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
Depends on:
Blocks:
 
Reported: 2007-04-12 13:07 EDT by Michael Rennie CLA
Modified: 2007-04-13 12:38 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Rennie CLA 2007-04-12 13:07:43 EDT
Following investigation into bug 179685 we found that JavaCore.newLibraryEntry() has a very high invocation count during startup when considering EEs with access rules - see profiling screen shots on 179685.
Comment 1 Jerome Lanneluc CLA 2007-04-13 06:31:48 EDT
Michael, I'm not sure to understand what you expect from us. JDT/Debug is making all these invocations, isn't it ?
Comment 2 Michael Rennie CLA 2007-04-13 10:10:20 EDT
yes we are, we were thinking (hoping) that there would be some way that we could batch or cache already created entries to be reused. Although as each access rule participant can create custom rules per project this seems unlikely.
Comment 3 Michael Rennie CLA 2007-04-13 10:19:03 EDT
we'll take this one back, as it has to do with us not you guys :)
Comment 4 Michael Rennie CLA 2007-04-13 12:38:11 EDT
The way the current API stands there is nothing we can do about this. 
To cache entries we need a compound key something like 
(vminstall, rules, environmentid) -> classpath entries

which would be sufficient, but each query to an EE for its rules creates a new array of rules (as the rules are collected from all of the participnats at the time the request for the rules occurs), therefore we can not effectively compare the arrays of rules for equality (using == ) without incurring more work than is already done. 

There is no way to batch create libraries.

marking as WONTFIX, since realistically there is nothing we can do....