| Summary: | Building resources with a lot of linking errors is very slow | ||
|---|---|---|---|
| Product: | [Modeling] TMF | Reporter: | Lieven Lemiengre <lieven.lemiengre> |
| Component: | Xtext | Assignee: | Project Inbox <tmf.xtext-inbox> |
| Status: | NEW --- | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | knut.wannheden, mail, mark.g.j.christiaens, mkomor, sebastian.zarnekow, sven.efftinge |
| Version: | unspecified | Flags: | sven.efftinge:
juno+
|
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
|
Description
Lieven Lemiengre
I think it wouldn't hurt to use a second Set of diagnostics (both errors and warnings) or to override getErrors / getWarnings and use a custom implementation that provides better runtime characteristics than the default list implementation. Should not be a big deal to implement. One advantage of an auxiliary data structure: #removeDiagnostic() wouldn't have to call #createDiagnosticMessage(). It could use the Triple<EObject, EReference, INode> as the key. This should then be marginally faster as also the Diagnostic wouldn't need to be created if the issue didn't already exist (which should be the normal case). Additionally this could solve potential problems if a customized ILinkingDiagnosticMessageProvider returns different messages based on some external context. Imaginary use case: The error message could be localized in different languages. |