Bug 405089 - Acceleo burns cycles when not in use.
Summary: Acceleo burns cycles when not in use.
Status: CLOSED FIXED
Alias: None
Product: Acceleo
Classification: Modeling
Component: Core (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows Vista
: P3 blocker
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-04-06 16:34 EDT by Ed Willink CLA
Modified: 2015-05-27 08:58 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Willink CLA 2013-04-06 16:34:51 EDT
In a workspace with

no *.mtl files
no projects with an Acceleo nature

I see

Thread [main] (Suspended (breakpoint at line 265 in AcceleoPackageRegistry))	
	owns: WorkspaceModifyDelegatingOperation  (id=2858)	
	AcceleoPackageRegistry.registerEcorePackages(String, ResourceSet) line: 265	
	AcceleoCommonPlugin$WorkspaceEcoreListener.resourceChanged(IResourceChangeEvent) line: 509	
	NotificationManager$1.run() line: 291	
	SafeRunner.run(ISafeRunnable) line: 42	
	NotificationManager.notify(ResourceChangeListenerList$ListenerEntry[], IResourceChangeEvent, boolean) line: 285	
	NotificationManager.broadcastChanges(ElementTree, ResourceChangeEvent, boolean) line: 149	
	Workspace.broadcastPostChange() line: 396	
	Workspace.endOperation(ISchedulingRule, boolean, IProgressMonitor) line: 1531	
	Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 2354	
	WorkspaceModifyDelegatingOperation(WorkspaceModifyOperation).run(IProgressMonitor) line: 118	
	WorkspaceOperationRunner.run(IRunnableWithProgress, ISchedulingRule) line: 75	
	WorkspaceOperationRunner.run(boolean, boolean, IRunnableWithProgress) line: 65	
	OCLinEcoreDocumentProvider(AbstractDocumentProvider).executeOperation(AbstractDocumentProvider$DocumentProviderOperation, IProgressMonitor) line: 551	
	OCLinEcoreDocumentProvider(AbstractDocumentProvider).saveDocument(IProgressMonitor, Object, IDocument, boolean) line: 629	
	XtextEditor(AbstractTextEditor).performSave(boolean, IProgressMonitor) line: 5068	
	XtextEditor(AbstractTextEditor).doSave(IProgressMonitor) line: 4858	

demonstrating the activation of a VERY expensive activity when Acceleo should be doing nothing.
Comment 1 Ed Willink CLA 2013-05-28 02:11:34 EDT
Still a problem in Kepler RC1.
Comment 2 Cedric Brun CLA 2013-07-24 04:15:09 EDT
Hi Ed,

I worked on it, a first iteration is provided through https://git.eclipse.org/r/#/c/14729/

It makes things way faster in general when the workspace has many Ecore files (or  big ones) which are not required by the Acceleo compilation.For instance, one rebuild a Java class in a project went from 3min50sec to 3sec.

I'll let the bug open for now as right now, Acceleo still precompute things and index the workspace as soon as its plugin is loaded and we might be more lazy than that. It's just that it's doing it way faster not loading un-necessary Ecore files.
Comment 3 Ed Willink CLA 2013-07-24 04:36:11 EDT
It's very difficult to be sure about any performance measures since Xtext Bug 412305 is also devastating. Once that's fixed it may be possible to move on and see if there is an EGIT/builder problem too.

Bug 412634 is another that contributes to dreadful observed behaviour.
Comment 4 Stephane Begaudeau CLA 2013-07-30 08:37:35 EDT
Cédric's work has been integrated in the master branch. It will be available in Acceleo 3.4.1.
Comment 6 Cedric Brun CLA 2014-03-04 10:39:22 EST
Feel free to reopen if you have further information.
Comment 7 Laurent Goubet CLA 2015-05-27 08:58:24 EDT
Closing resolved bugs