Parser optymization [message #999997] |
Sun, 13 January 2013 13:21  |
Eclipse User |
|
|
|
I'm trying to use xtext with large documents (>10 KLOC) and I'm hitting some performance problems. My DSL is whitespace sensitive and indentation based. This is roughly how it looks:
{Section 1}
Paragraph 1
Paragraph 2
{Section 2}
Paragraph 1
{Section 3}
Paragraph 1
How can I cluster the document so that changes in the Section 1 don't trigger reparsing the whole document? In the given example the thing that could happen in Section 3 are new markers being added as a result of reference targets in Section 1 being removed. Other stuff can't change so there's no need to reparse the whole structure, rebuild the outline, perform highlighting and so on.
Any clues?
Thanks,
Pawel
|
|
|
Re: Parser optymization [message #1000201 is a reply to message #999997] |
Mon, 14 January 2013 03:46  |
Eclipse User |
|
|
|
Xtext uses a partial parsing approach by default. Did you profile your
plugins in order to identify hotspots?
If you get suck, feel free to contact itemis. We offer professional
support packages with a special focus on performance analysis and
optimization.
Regards,
Sebastian
--
Looking for professional support for Xtext, Xtend or Eclipse Modeling?
Go visit: http://xtext.itemis.com
Am 13.01.13 19:21, schrieb Pawel Pogorzelski:
> I'm trying to use xtext with large documents (>10 KLOC) and I'm hitting
> some performance problems. My DSL is whitespace sensitive and
> indentation based. This is roughly how it looks:
>
>
> {Section 1}
> Paragraph 1
> Paragraph 2
> {Section 2}
> Paragraph 1
> {Section 3}
> Paragraph 1
>
>
> How can I cluster the document so that changes in the Section 1 don't
> trigger reparsing the whole document? In the given example the thing
> that could happen in Section 3 are new markers being added as a result
> of reference targets in Section 1 being removed. Other stuff can't
> change so there's no need to reparse the whole structure, rebuild the
> outline, perform highlighting and so on.
>
> Any clues?
>
> Thanks,
> Pawel
|
|
|
Powered by
FUDForum. Page generated in 0.03298 seconds