Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 333135

Summary: EObjectDescriptionLookUp performance problem: unneccesary use of String.toLowerCase()
Product: [Modeling] TMF Reporter: Tim Geisler <tg>
Component: XtextAssignee: Project Inbox <tmf.xtext-inbox>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: P3 CC: sebastian.zarnekow, tg
Version: 1.0.1Flags: sebastian.zarnekow: indigo+
Target Milestone: M5   
Hardware: All   
OS: All   
Whiteboard:

Description Tim Geisler CLA 2010-12-23 04:54:52 EST
The method EObjectDescriptionLookUp.getExportedObjects(EClass, String) converts the second parameter into a lower case string. The map EObjectDescriptionLookUp.nameToObjects is filled with lower-case keys.

For case-sensitive languages, converting the names to lower case is not neccessary.

In a large project where the complete build (initiated with Project / Clean...) takes about one minute (the project has more than 2000 resources), the conversion of the keys to lower case strings takes more than 20% of the runtime of the complete build.

The code should be restructured such that for case-sensitive languages there is no call to String.toLowerCase()
Comment 1 Sebastian Zarnekow CLA 2010-12-23 06:48:22 EST
Linking has been optimized for Xtext 2.0
I'm afraid there exists no backwards compatible solution for Xtext 1.0.1
Comment 2 Sebastian Zarnekow CLA 2011-01-10 11:48:51 EST
You could try to backport the solution from Xtext 2.0 to your particular environment (I'd start with digging around ISelectable and friends).

Closed as #toLowerCase is no longer an issue with Xtext 2.0 and backporting the changes to Xtext 1.0.2 is not possible in a backwards compatible manner.
Comment 3 Karsten Thoms CLA 2017-09-19 17:32:15 EDT
Closing all bugs that were set to RESOLVED before Neon.0
Comment 4 Karsten Thoms CLA 2017-09-19 17:43:27 EDT
Closing all bugs that were set to RESOLVED before Neon.0