History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: IDEA-12342
Type: Performance Problem Performance Problem
Status: Open Open
Assignee: Eugene Zhuravlev
Reporter: Stephen Friedrich
Votes: 1
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
IDEA: Feedback

Ant files slow down project loading

Created: 12 Apr 07 16:22   Updated: 12 Apr 07 16:43
Component/s: Ant Integration

Build: 6,819
Severity: High


 Description  « Hide
My project had about twenty ant files configured.
I noticed that the project loaded about 50% slower than in 6.0.5.

IDE startup time without project loading is about the same.

I noticed that the time until the "loading project" dialog with the indeterminate progress bar disappeared was almost equal, too .
However after the dialog diappeared Idea was busy for another twenty seconds or so.
So I created a couple of thread dumps during this time and found the CPU hogged with ant file processing.

After removing all ant files from the "Ant Build" toolwindow Selena loads the project slightly faster than Demetra.

The relevant parts from the thread dumps all look almost exactly like this:

"AWT-EventQueue-1" prio=6 tid=0x183d1400 nid=0x1e5b8 runnable [0x1884e000..0x1884fa94]
   java.lang.Thread.State: RUNNABLE
        at java.lang.Class.getConstructor0(Class.java:2706)
        at java.lang.Class.getConstructor(Class.java:1657)
        at org.apache.tools.ant.IntrospectionHelper.<init>(IntrospectionHelper.java:262)
        at org.apache.tools.ant.IntrospectionHelper.getHelper(IntrospectionHelper.java:338)
        at org.apache.tools.ant.IntrospectionHelper.getHelper(IntrospectionHelper.java:317)
        - locked <0x1426c990> (a java.lang.Class for org.apache.tools.ant.IntrospectionHelper)
        at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.intellij.lang.ant.psi.impl.AntInstrospector.<init>(AntInstrospector.java:29)
        at com.intellij.lang.ant.psi.impl.AntInstrospector.getInstance(AntInstrospector.java:53)
        at com.intellij.lang.ant.psi.impl.AntFileImpl.getHelperExceptionSafe(AntFileImpl.java:529)
        at com.intellij.lang.ant.psi.impl.AntFileImpl.createTypeDefinition(AntFileImpl.java:494)
        at com.intellij.lang.ant.psi.impl.AntFileImpl.updateTypeDefinitions(AntFileImpl.java:451)
        at com.intellij.lang.ant.psi.impl.AntFileImpl.getBaseTypeDefinition(AntFileImpl.java:342)
        - locked <0x0416a3d0> (a java.lang.Object)
        at com.intellij.lang.ant.psi.impl.AntFileImpl.createProjectDefinition(AntFileImpl.java:480)
        at com.intellij.lang.ant.psi.impl.AntFileImpl.getAntProject(AntFileImpl.java:274)
        - locked <0x0416a3d0> (a java.lang.Object)
        at com.intellij.lang.ant.config.impl.AntBuildModelImpl.getAntProject(AntBuildModelImpl.java:80)
        at com.intellij.lang.ant.config.impl.AntBuildModelImpl.getTargetListImpl(AntBuildModelImpl.java:114)
        at com.intellij.lang.ant.config.impl.AntBuildModelImpl.access$100(AntBuildModelImpl.java:14)
        at com.intellij.lang.ant.config.impl.AntBuildModelImpl$2.compute(AntBuildModelImpl.java:94)
        at com.intellij.lang.ant.config.impl.AntBuildModelImpl$2.compute(AntBuildModelImpl.java:93)
        at com.intellij.openapi.application.impl.ApplicationImpl$12.run(ApplicationImpl.java:0)
        at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:303)
        at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:198)
        at com.intellij.lang.ant.config.impl.AntBuildModelImpl.getTargetsList(AntBuildModelImpl.java:92)
        at com.intellij.lang.ant.config.impl.AntBuildModelImpl.getTargets(AntBuildModelImpl.java:36)
        at com.intellij.lang.ant.config.impl.AntBuildFileImpl.updateProperties(AntBuildFileImpl.java:240)
        at com.intellij.lang.ant.config.impl.AntBuildFileImpl.readProperties(AntBuildFileImpl.java:293)
        at com.intellij.lang.ant.config.impl.AntConfigurationImpl.loadBuildFileProjectProperties(AntConfigurationImpl.java:606)
        at com.intellij.lang.ant.config.impl.AntConfigurationImpl.access$1200(AntConfigurationImpl.java:55)
        at com.intellij.lang.ant.config.impl.AntConfigurationImpl$8.run(AntConfigurationImpl.java:342)
        at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:303)
        at com.intellij.lang.ant.config.impl.AntConfigurationImpl$9.run(AntConfigurationImpl.java:354)
        at com.intellij.ide.startup.impl.StartupManagerImpl.a(StartupManagerImpl.java:46)
        at com.intellij.ide.startup.impl.StartupManagerImpl.runPostStartupActivities(StartupManagerImpl.java:51)
        - locked <0x08307178> (a com.intellij.ide.startup.impl.StartupManagerImpl)
        at com.intellij.openapi.project.impl.ProjectManagerImpl.openProject(ProjectManagerImpl.java:0)
        at com.intellij.openapi.project.impl.ProjectManagerImpl.loadAndOpenProject(ProjectManagerImpl.java:177)
        at com.intellij.ide.impl.ProjectUtil.openProject(ProjectUtil.java:23)
        at com.intellij.ide.RecentProjectsManager$ReopenProjectAction.actionPerformed(RecentProjectsManager.java:0)
        at com.intellij.ui.popup.PopupFactoryImpl$ActionPopupStep$1.run(PopupFactoryImpl.java:1)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:44)
        at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:83)
        at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:6)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)


 All   Comments   Work Log   Change History      Sort Order:
There are no comments yet on this issue.