|
|
Re: Xtend nearly unusable in big files [message #720773 is a reply to message #720755] |
Wed, 31 August 2011 08:31 |
Daniel Missing name Messages: 101 Registered: July 2011 |
Senior Member |
|
|
Awesome thanks. I couldn't find the bug but I probably used wrong search terms. (I was always searching about the workspace building problem).
My current language is too big that I could simply attach it to a bug. I hope this feature is available soon.
[edit]
I made a comment on the bug and requested a reopening since a turn-off setting is really needed.
[Updated on: Wed, 31 August 2011 08:48] Report message to a moderator
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: Xtend nearly unusable in big files [message #720981 is a reply to message #720921] |
Wed, 31 August 2011 15:52 |
Eclipse User |
|
|
|
Originally posted by:
Am 31.08.11 15:48, schrieb Daniel:
> I just tested the the build using the latest nightly build and the build
> takes only 15 seconds on the 1800 lines. I will simply use the latest
> build and hope I do not encounter any bugs. The URL to the latest stable
> build you added is currently mispointing
> (http://download.eclipse.org/modeling/tmf/xtext/updates/composite/latest/ ->
> error 404).
This is an Eclipse Update site/p2 repository; you must access it from
Eclipse.
Regards,
Dennis.
> An improvement from 2:10min to 0:15min is quite impressive, good job.
> Looking forward to more improvements :d Are you already using some kind
> of partial builds and validation? i.e. If I edit the method compileTest
> only this method gets revalidated recompiled? Or are there any plans to
> do that? That would simply boost the system up like hell :d
|
|
|
Re: Xtend nearly unusable in big files [message #721013 is a reply to message #720791] |
Wed, 31 August 2011 16:54 |
Ed Willink Messages: 7670 Registered: July 2009 |
Senior Member |
|
|
Hi
Not reported against EGit yet. I'm waiting for SR1 before starting to
winge. I think that three or four projects have poor characteristics and
when these combine exponentially we get to the coffee break build
phenomenon.
I suspect that my problem may be different to other peoples because I
have split plugins.
I have an AST plugin in which a *.uml defines the auto-generated *.ecore
and *.java.
I have 5 CST + Editor plugins in which
- *.ecore defines the auto-generated *.java
- *.xtext defines more auto-generated *.java
To avoid polluting the CST plugins with build-only dependencies, I have
a Build 'plugin' that houses *.mwe2 and *.mtl (Acceleo templates) and
*.java.
One mwe2 script drives the *.uml to *.java in the AST plugin and via
Acceleo generates more *.java.
Another mwe2 script drives the 5 CST genmodels for *.ecore to *.Java and
via Acceleo generates more *.java.
Another mwe2 script drives the 5 *.xtext to *.java.
Because MWE2 re-uses the classpath as a modelpath and my models are
referenced as platform:/plugin... the necessary MWE2 modelpath creates a
cyclic Java dependency. Eclipse perceives the Build plugin as dependent
on the CST and AST plugins since they are on the classpath/modelpath,
but running an MWE2 script generates Java upstream in the plugins on
which the Build plugin depends.
I think MWE2 needs to use a modelpath that is analoguous to a classpath
but without making Eclipse think that there is a dependency. I would
gladly provide explicit 'import' statements in the Standalone bean setup
so long as there is a syntax that enables platform:/plugin to correctly
resolve to platform:/resource if present else platform:/plugin in the
normal EMF fashion.
Regards
Ed Willink
On 31/08/2011 09:44, Jan Koehnlein wrote:
> Sounds like a bug in eGit. Did you report it?
>
> We are working hard to improve performance. If you switch to the HEAD
> revision of Xtext, you will already experience a serious speed-up.
>
> Am 31.08.11 10:19, schrieb Ed Willink:
>> Hi Daniel
>>
>> Thanks for some extra insight. I thought it was just me with problems.
>>
>> I see exactly the same issues and I don't use Xtend at all (except in so
>> far as Xtext does on my behalf). I use MWE2 and Acceleo and Xtext.
>>
>> I stepped a bit of MWE when I had some URI resolution bug and saw some
>> double work going on, though I think it was plugin scanning, but perhaps
>> that triggers builds.
>>
>> Anyway, perhaps MWE rather than Xtend or Acceleo is at fault.
>>
>> I find the situation gets particularly bad after a GIT switch-to-branch,
>> since rebuilds start long before GIT has finished and so a sequence of
>> partial builds block GIT progress and fight to complete before GIT and a
>> clean build can complete. Disabling auto-build till GIT completes is
>> almost mandatory.
>>
>> Regards
>>
>> Ed Willink
>>
>>
>> On 31/08/2011 08:56, Daniel wrote:
>>> Hi developers.
>>> I'm currently writing some xtend code generation templates and it
>>> really frustrates me.
>>> Nearly time I save my xtend code files Eclipse needs to Build my
>>> Workspace twice! It seems xtend build the workspace before the
>>> validation starts (to check whether all referenced elements are
>>> available). Then the validation starts and the code generation of
>>> xtend to java is triggered. And afterwards the whole workspace is
>>> rebuilt again because of the new classes.
>>>
>>> Each time I save my file the whole Eclipse instance gets unusable
>>> (sometimes even unresponsive) till this build process is finished. I
>>> tried to disable the automatic build but even then xtend triggers the
>>> code generation and therefore the workspace rebuild.
>>> It takes me hours to write templates that really frustrates. I have
>>> two template files in my project. One is 1400 lines long and the other
>>> 400. Of course xtend needs some heavy operations for validation but on
>>> bigger files you get really stuck using xtend.
>>> But on each save new progress tasks get enqueued. If I make changes
>>> and hit save a "workspace building" and an "xtext validation" task is
>>> enqueued. Sometimes the elements are enqueued twice. I make some
>>> additional changes till Eclipse is responsive and hit save again. Then
>>> I have 4-6 tasks in my progress queue and can get a cup of coffee till
>>> those tasks are complete.
>>> The parts: "Updating resource description x of y" and "Invoking build
>>> participants" take the most of the time which is up to 2 minutes.
>>> Is this simply my fault or is it really xtend that becomes quite
>>> unusable on huge template files?
>>>
>>> Cheers
>>> Daniel
>>
>
>
|
|
|
|
|
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.07379 seconds