Home » Modeling » TMF (Xtext) » Save one file, all files rebuilt?(Large DSL project exhibits confusingly poor performance)
Save one file, all files rebuilt? [message #1004737] |
Wed, 23 January 2013 19:28 |
|
Hi,
When running my Xtext-based IDE, I have a very large DSL project (~30 files, ~500,000 lines of DSL code). Some individual files are as large as 200,000 lines of code (users of this DSL have used scripts to generate source files in some cases, hence the large files).
Here is a confusing scenario I've seen: The project is fully-built, all files are saved. I modify one line in one file (comment-out an Include statement, for example), and then save the file. What follows is a long build process, where almost all files in the project appear to be rebuilt. The Progress View takes very long to complete and notes that it's "updating resource description for" many files that weren't modified. I would expect that the resource descriptions would only need to be updated for modified files.
This happens with every save, making the IDE pretty unusable for this project. I wonder if anyone has any thoughts on what might be going on. I've profiled the application a bunch of times, but have not uncovered anything meaningful yet.
Any thoughts readers might have would be appreciated!
PS - I'm using Xtext 2.3.1
[Updated on: Wed, 23 January 2013 20:27] Report message to a moderator
|
|
| |
Re: Save one file, all files rebuilt? [message #1005119 is a reply to message #1004951] |
Thu, 24 January 2013 14:08 |
|
Alex,
Thanks for your reply - it sounds like this resource description processing is a good place to explore. I'm familiar with injecting my own DslResourceDescriptionStrategy and implementing the createEObjectDescriptions(...) method to control what objects get exported.
But controlling some of these other aspects you mention - whether one resource is affected by the change of another, for example - what might be the class or injection point for this?
Joey
|
|
| |
Re: Save one file, all files rebuilt? [message #1005338 is a reply to message #1004737] |
Thu, 24 January 2013 22:29 |
Jan Koehnlein Messages: 760 Registered: July 2009 Location: Hamburg |
Senior Member |
|
|
Files with 200.000 LOC would even make JDT throw up. You should
seriously consider modularization.
If that's not possible, it's likely not solved with a few simple tricks.
You will at least have to dig a lot deeper into the builder, the index,
parsing and linking.
Am 23.01.13 20:28, schrieb Joey Mink:
> Hi,
>
> When running my Xtext-based IDE, I have a very large DSL project (~30
> files, ~500,000 lines of DSL code). Some individual files are as large
> as 200,000 lines of code (users of this DSL have used scripts to
> generate source files in some cases, hence the large files).
>
> Here is a confusing scenario I've seen: The project is fully-built, all
> files are saved. I modify one line in one file (comment-out an Include
> statement, for example), and then save the file. What follows is a long
> build process, where almost all files in the project appear to be
> rebuilt. The Progress View takes very long to complete and notes that
> it's "updating resource description for" many files that weren't
> modified. I would the resource descriptions would only need to be
> updated for modified files.
>
> This happens with every save, making the IDE pretty unusable for this
> project. I wonder if anyone has any thoughts on what might be going
> on. I've profiled the application a bunch of times, but have not
> uncovered anything meaningful yet.
>
> Any thoughts readers might have would be appreciated!
--
Need professional support for Eclipse Modeling?
Go visit: http://xtext.itemis.com
---
Get professional support from the Xtext committers at www.typefox.io
|
|
|
Goto Forum:
Current Time: Sat Apr 27 03:13:25 GMT 2024
Powered by FUDForum. Page generated in 0.02869 seconds
|