Bug 3277 - Saving a CU is slow (1GE6E5E)
Summary: Saving a CU is slow (1GE6E5E)
Status: RESOLVED WONTFIX
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 2.0 M1   Edit
Assignee: Philipe Mulet CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2001-10-10 22:52 EDT by Erich Gamma CLA
Modified: 2002-01-11 09:22 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Erich Gamma CLA 2001-10-10 22:52:27 EDT
EG (5/23/01 1:01:32 PM)
	KUM did a performance analysis with optimize it. The trace is below and shows that 30% 
	are spent in the Java core committing the working copy.
Profiler output for thread main . application org.eclipse.core.launcher.UIMain (CPU profiler output - Sampler / Methods)
------------------------------------------------------------------------------------------------------------------------

Description of CPU usage for thread main 
   100.0% - 3762 ms - intuitive.audit.Audit.main()
      100.0% - 3762 ms - intuitive.audit.Main.runProgramWithClass()
         100.0% - 3762 ms - org.eclipse.core.launcher.UIMain.main()
            100.0% - 3762 ms - org.eclipse.core.launcher.Main.run()
               100.0% - 3762 ms - org.eclipse.core.launcher.Main.basicRun()
                  100.0% - 3762 ms - java.lang.reflect.Method.invoke()
                     100.0% - 3762 ms - org.eclipse.core.boot.BootLoader.run()
                        100.0% - 3762 ms - org.eclipse.core.internal.boot.InternalBootLoader.run()
                           100.0% - 3762 ms - org.eclipse.ui.internal.Workbench.run()
                              100.0% - 3762 ms - org.eclipse.ui.internal.Workbench.runEventLoop()
                                 86.39% - 3250 ms - org.eclipse.swt.widgets.Display.readAndDispatch()
                                    82.24% - 3094 ms - org.eclipse.swt.widgets.Display.runDeferredEvents()
                                       82.24% - 3094 ms - org.eclipse.swt.widgets.Widget.notifyListeners()
                                          82.24% - 3094 ms - org.eclipse.swt.widgets.EventTable.sendEvent()
                                             81.65% - 3072 ms - org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent()
                                                81.65% - 3072 ms - org.eclipse.jface.action.ActionContributionItem.access$0()
                                                   81.65% - 3072 ms - org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent()
                                                      81.65% - 3072 ms - org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection()
                                                         81.65% - 3072 ms - org.eclipse.ui.internal.SaveAction.run()
                                                            81.65% - 3072 ms - org.eclipse.ui.internal.WorkbenchPage.saveEditor()
                                                               81.65% - 3072 ms - org.eclipse.ui.internal.EditorManager.saveEditor()
                                                                  81.52% - 3067 ms - org.eclipse.ui.internal.EditorManager.runProgressMonitorOperation()
                                                                     81.52% - 3067 ms - org.eclipse.jface.dialogs.ProgressMonitorDialog.run()
                                                                        80.3% - 3021 ms - org.eclipse.jface.operation.ModalContext.run()
                                                                           80.3% - 3021 ms - org.eclipse.ui.internal.EditorManager$9.run()
                                                                              80.3% - 3021 ms - org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave()
                                                                                 80.3% - 3021 ms - org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSaveOperation()
                                                                                    80.3% - 3021 ms - org.eclipse.ui.actions.WorkspaceModifyOperation.run()
                                                                                       80.3% - 3021 ms - org.eclipse.core.internal.resources.Workspace.run()
                                                                                          58.71% - 2209 ms - org.eclipse.ui.actions.WorkspaceModifyOperation$1.run()
                                                                                             58.71% - 2209 ms - org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$1.execute()
                                                                                                44.17% - 1662 ms - org.eclipse.ui.texteditor.AbstractDocumentProvider.saveDocument()
                                                                                                   43.77% - 1647 ms - org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.doSaveDocument()
                                                                                                      42.84% - 1612 ms - org.eclipse.jdt.internal.core.WorkingCopy.commit()
                                                                                                      0.79% - 30 ms - org.eclipse.jdt.internal.core.WorkingCopy.reconcile()
                                                                                                      0.13% - 5 ms - org.eclipse.jdt.internal.core.Openable.getUnderlyingResource()
                                                                                                   0.39% - 15 ms - org.eclipse.ui.texteditor.AbstractDocumentProvider.fireElementDirtyStateChanged()
                                                                                                14.54% - 547 ms - org.eclipse.jdt.internal.ui.reorg.CUSavePolicy.preSave()
                                                                                                   14.54% - 547 ms - org.eclipse.jdt.internal.ui.reorg.CUSavePolicy.getMainType()
                                                                                                      14.54% - 547 ms - org.eclipse.jdt.internal.core.CompilationUnit.getTypes()
                                                                                          11.45% - 431 ms - org.eclipse.core.internal.resources.Workspace.endOperation()
                                                                                             11.45% - 431 ms - org.eclipse.core.internal.resources.Workspace.broadcastChanges()
                                                                                                11.45% - 431 ms - org.eclipse.core.internal.events.NotificationManager.broadcastChanges()
                                                                                                   10.65% - 401 ms - org.eclipse.core.internal.events.NotificationManager.broadcastChanges()
                                                                                                   0.79% - 30 ms - org.eclipse.core.internal.events.NotificationManager.getDelta()
                                                                                          10.12% - 381 ms - org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.done()
                                                                        0.95% - 36 ms - org.eclipse.jface.window.Window.open()
                                                                        0.26% - 10 ms - org.eclipse.jface.dialogs.ProgressMonitorDialog.close()
                                                                  0.13% - 5 ms - org.eclipse.ui.texteditor.AbstractTextEditor.isDirty()
                                             0.45% - 17 ms - org.eclipse.swt.widgets.TypedListener.handleEvent()
                                    3.58% - 135 ms - org.eclipse.swt.internal.win32.OS.DispatchMessage()
                                    0.55% - 21 ms - org.eclipse.swt.internal.win32.OS.PeekMessage()
                                 13.6% - 512 ms - org.eclipse.swt.widgets.Display.sleep()

NOTES:

PM (5/23/2001 1:40:21 PM)
	Do you have details about the inside the commit operation? This might be a snapshot happening under you.
Comment 1 Philipe Mulet CLA 2001-10-12 09:20:03 EDT
Closing