Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 334908 - QVTo Editor: content assist completion is expensive; provide an option to turn it off and to delay its activation.
Summary: QVTo Editor: content assist completion is expensive; provide an option to tur...
Status: ASSIGNED
Alias: None
Product: QVTo
Classification: Modeling
Component: UI (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 3.1   Edit
Assignee: Sergey Boyko CLA
QA Contact:
URL:
Whiteboard: Usability
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-20 10:48 EST by Nicolas Rouquette CLA
Modified: 2011-01-26 05:23 EST (History)
1 user (show)

See Also:
serg.boyko2011: indigo+


Attachments
Temporary workaround for disabling greedy QvtCompletion processing. (1.54 KB, patch)
2011-01-21 11:49 EST, Nicolas Rouquette CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Nicolas Rouquette CLA 2011-01-20 10:48:47 EST
Currently, any character in org.eclipse.m2m.internal.qvt.oml.editor.ui.completion.QvtCompletionProcessor.ACTIVATION triggers content assist in the QVTO editor.

This computing possible completions becomes very expensive when we have a large metamodel (e.g., UML) or when we have lots of QVTO code that augments the metamodel with helpers/queries/mapping operations/black-box operations to the point of being a significant productivity bottleneck.

I suggest adding QVTO preferences to allow turning off completion and/or delay it like the JDT editor does -- see org.eclipse.jdt.internal.ui.text.ContentAssistPreference
Comment 1 Nicolas Rouquette CLA 2011-01-21 11:49:06 EST
Created attachment 187301 [details]
Temporary workaround for disabling greedy QvtCompletion processing.

It would be nice to have QVTo preferences to enable/disable QVT Completion processing.

The problem is that each QvtCompletion is expensive because it invokes a new lightweight parse of the Qvt document.
There is currently very little that is cached across such computations so the overall performance is very slow.
Until an efficient caching mechanism is available to speed up QvtCompletion processing, we need to have the option to turn this feature off.

Note that this workaround does not disable on-demand completion (e.g., control + space).