Summary: | [startup] Review JavaCore.startup() | ||||||
---|---|---|---|---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Kent Johnson <kent_johnson> | ||||
Component: | Core | Assignee: | Kent Johnson <kent_johnson> | ||||
Status: | VERIFIED FIXED | QA Contact: | |||||
Severity: | normal | ||||||
Priority: | P3 | CC: | akiezun, philippe_mulet, wassim.melhem | ||||
Version: | 2.1 | Keywords: | performance | ||||
Target Milestone: | 2.1 M5 | ||||||
Hardware: | PC | ||||||
OS: | All | ||||||
Whiteboard: | |||||||
Attachments: |
|
Description
Kent Johnson
2002-11-29 10:47:52 EST
*** Bug 27551 has been marked as a duplicate of this bug. *** While trying to eliminate the need for the consistency check, a job is created to re-index rt.jar before the consistencyCheck() is called, because it appears as if it was 'added' to the classpath. Why does it appear added? SetClasspathOperation.generateClasspathChangeDeltas(IClasspathEntry[],...) line: 274 SetClasspathOperation.updateClasspath() line: 558 SetClasspathOperation.executeOperation() line: 242 SetClasspathOperation(JavaModelOperation).execute() line: 326 SetClasspathOperation(JavaModelOperation).run(IProgressMonitor) line: 626 Workspace.run(IWorkspaceRunnable, IProgressMonitor) line: 1581 JavaProject(JavaElement).runOperation(JavaModelOperation,...) line: 562 JavaProject.setRawClasspath(IClasspathEntry[],...) line: 2090 JavaCore$4.run(IProgressMonitor) line: 2800 BatchOperation.executeOperation() line: 34 BatchOperation(JavaModelOperation).execute() line: 326 BatchOperation(JavaModelOperation).run(IProgressMonitor) line: 626 Workspace.run(IWorkspaceRunnable, IProgressMonitor) line: 1581 JavaCore.run(IWorkspaceRunnable, IProgressMonitor) line: 2383 JavaCore.updateVariableValues(String[], IPath[], IProgressMonitor) line: 2788 JavaCore.setClasspathVariables(String[], IPath[], IProgressMonitor) line: 2589 JavaCore.setClasspathVariable(String, IPath, IProgressMonitor) line: 2561 JavaClasspathVariablesInitializer.setJREVariable(IPath, String) line: 111 JavaClasspathVariablesInitializer.initialize(String) line: 55 JavaCore$2.run() line: 849 InternalPlatform.run(ISafeRunnable) line: 839 Platform.run(ISafeRunnable) line: 413 JavaCore.getClasspathVariable(String) line: 844 JavaCore.getResolvedVariablePath(IPath) line: 1487 JavaCore.getResolvedClasspathEntry(IClasspathEntry) line: 1454 JavaProject.getResolvedClasspath(IClasspathEntry[],...) line: 1383 SetClasspathOperation.updateProjectReferencesIfNecessary() line: 703 SetClasspathOperation.executeOperation() line: 228 SetClasspathOperation(JavaModelOperation).execute() line: 326 SetClasspathOperation(JavaModelOperation).run(IProgressMonitor) line: 626 Workspace.run(IWorkspaceRunnable, IProgressMonitor) line: 1581 JavaProject(JavaElement).runOperation(JavaModelOperation,...) line: 562 JavaProject.setRawClasspath(IClasspathEntry[],...) line: 2090 JavaCore$4.run(IProgressMonitor) line: 2800 BatchOperation.executeOperation() line: 34 BatchOperation(JavaModelOperation).execute() line: 326 BatchOperation(JavaModelOperation).run(IProgressMonitor) line: 626 Workspace.run(IWorkspaceRunnable, IProgressMonitor) line: 1581 JavaCore.run(IWorkspaceRunnable, IProgressMonitor) line: 2383 JavaCore.updateVariableValues(String[], IPath[], IProgressMonitor) line: 2788 JavaCore.setClasspathVariables(String[], IPath[], IProgressMonitor) line: 2589 JavaCore.setClasspathVariable(String, IPath, IProgressMonitor) line: 2561 JavaClasspathVariablesInitializer.setJREVariable(IPath, String) line: 111 JavaClasspathVariablesInitializer.initialize(String) line: 55 JavaCore$2.run() line: 849 InternalPlatform.run(ISafeRunnable) line: 839 Platform.run(ISafeRunnable) line: 413 JavaCore.getClasspathVariable(String) line: 844 JavaCore.getResolvedVariablePath(IPath) line: 1487 JavaCore.getResolvedClasspathEntry(IClasspathEntry) line: 1453 JavaProject.getResolvedClasspath(IClasspathEntry[],...) line: 1383 SetClasspathOperation.updateProjectReferencesIfNecessary() line: 703 SetClasspathOperation.executeOperation() line: 228 SetClasspathOperation(JavaModelOperation).execute() line: 326 SetClasspathOperation(JavaModelOperation).run(IProgressMonitor) line: 626 Workspace.run(IWorkspaceRunnable, IProgressMonitor) line: 1581 JavaProject(JavaElement).runOperation(JavaModelOperation,...) line: 562 JavaProject.setRawClasspath(IClasspathEntry[],...) line: 2090 JavaCore$4.run(IProgressMonitor) line: 2800 BatchOperation.executeOperation() line: 34 BatchOperation(JavaModelOperation).execute() line: 326 BatchOperation(JavaModelOperation).run(IProgressMonitor) line: 626 Workspace.run(IWorkspaceRunnable, IProgressMonitor) line: 1581 JavaCore.run(IWorkspaceRunnable, IProgressMonitor) line: 2383 JavaCore.updateVariableValues(String[], IPath[], IProgressMonitor) line: 2788 JavaCore.setClasspathVariables(String[], IPath[], IProgressMonitor) line: 2589 JavaCore.setClasspathVariable(String, IPath, IProgressMonitor) line: 2561 JavaClasspathVariablesInitializer.setJREVariable(IPath, String) line: 111 JavaClasspathVariablesInitializer.initialize(String) line: 55 JavaCore$2.run() line: 849 InternalPlatform.run(ISafeRunnable) line: 839 Platform.run(ISafeRunnable) line: 413 JavaCore.getClasspathVariable(String) line: 844 JavaCore.getResolvedVariablePath(IPath) line: 1487 JavaCore.getResolvedClasspathEntry(IClasspathEntry) line: 1402 JavaProject.getResolvedClasspath(IClasspathEntry[],...) line: 1383 JavaProject.getResolvedClasspath(boolean, boolean) line: 1328 JavaProject.getResolvedClasspath(boolean) line: 1305 IndexManager$2.run(IProgressMonitor) line: 405 BatchOperation.executeOperation() line: 34 BatchOperation(JavaModelOperation).execute() line: 326 BatchOperation(JavaModelOperation).run(IProgressMonitor) line: 626 Workspace.run(IWorkspaceRunnable, IProgressMonitor) line: 1581 JavaCore.run(IWorkspaceRunnable, IProgressMonitor) line: 2383 IndexManager.reset() line: 397 JavaCore.startIndexing() line: 2659 JavaCore.startup() line: 2691 Moved the SaveIndex jobs to immediately after the IndexAllProject & IndexBinaryFolder jobs... instead of after all of these jobs are complete. Created attachment 2717 [details]
opeing preference page
one more scenario where this would help is first opening of preference page
(72% of time is spend in startIndexing())
*** Bug 28073 has been marked as a duplicate of this bug. *** Deferred to M5. Changes are quite big and too close to M4. Need more testing. Removed all index consistency checks from JDT Core startup. Released changes to persisently keep track of saved & consistent index files... any request to an inconsistent index adds a rebuildAll job to the queue. Verified. |