Great news.
@Usman: could you check?
Doru
On Fri, Feb 20, 2015 at 9:04 AM, Jan Kurš <kurs.jan(a)gmail.com> wrote:
Hey all, Please note that a new version in of PetitParser
(JanKurs-271)
should improve performance roughly comparable to the original performance.
On my computer, I got improvement from 3900ms to 1300ms.
Cheers,
Jan
On 1 February 2015 at 22:55, Jan Kurš <kurs.jan(a)gmail.com> wrote:
> Hey all, thanks for the report, I will have a look at it asap.
>
> Cheers Jan
> On 1 Feb 2015 20:55, "Usman Bhatti" <usman.bhatti(a)gmail.com> wrote:
>
>>
>>
>> On Fri, Jan 30, 2015 at 9:36 PM, Sven Van Caekenberghe <sven(a)stfx.eu>
>> wrote:
>>
>>> Usman, this is a really cool bug report !
>>>
>>
>> Thanks :)
>>
>>
>>>
>>> > On 30 Jan 2015, at 16:36, Usman Bhatti <usman.bhatti(a)gmail.com>
>>> wrote:
>>> >
>>> > Here is a script that shows the factor of 2 in time taken for
>>> parsing. The idea of the script is to introduce several wrong branches
>>> before hitting the correct one (originally proposed by Guillaume).
>>> >
>>> > |rule wrongBranches|
>>> > [wrongBranches := (25 to: 45) inject: 24 asCharacter asParser into:
>>> [:acc :each | acc / each asCharacter asParser].
>>> > rule := PPDelegateParser new.
>>> > rule setParser: $a asParser / ((wrongBranches / $. asParser), rule).
>>> > rule parse: (String streamContents: [ :s |
>>> > 30000 timesRepeat: [s nextPut: $.]. s nextPut: $a ])] timeToRun
>>> >
>>> >
>>> > Below are the graphs that were generated when varying the string
>>> length provided to the above parser description. Green part shows the time
>>> taken by the older version and the red part with the latest PP.
>>> >
>>> > <graph.png>
>>> >
>>> > Data values and graph generated by the script in the attached file.
>>> >
>>> > regards.
>>> >
>>> > usman
>>> >
>>> > On Fri, Jan 30, 2015 at 1:30 PM, Tudor Girba
<tudor(a)tudorgirba.com>
>>> wrote:
>>> > Hi,
>>> >
>>> > Hmm. I thought this was fixed and that you said at the end that the
>>> performance penalty is no longer a factor of 2.
>>> >
>>> > Do you have a simple example for checking the simple case of 2x
>>> performance loss?
>>> >
>>> > Doru
>>> >
>>> >
>>> > On Fri, Jan 30, 2015 at 12:28 PM, Usman Bhatti <
>>> usman.bhatti(a)gmail.com> wrote:
>>> > Hi,
>>> >
>>> > Since the work on the integration of PPContext in PetitParser, there
>>> is significant performance degradation. I have already mentioned that on
>>> simple grammar the factor is about 2. But on complex grammar (for example,
>>> our proprietary parser for 4D language ), we have seen that degradation is
>>> goes well beyond this factor. So, for example, for 800K lines that we parse
>>> in under 10 minutes without PPContext work, with the latest version it goes
>>> beyond 2h.
>>> >
>>> > I have not been able to reproduce my case on simple grammars. May be
>>> we can have some benchmarks using open source parsers and large code bases
>>> (e.g. PP Java Parser on JHotDraw or ArgoUML).
>>> >
>>> > Currently, I circumvent this issue by using PP v1.51 but I can
>>> provide relevant feedback and run benches on any improvements.
>>> >
>>> > regards.
>>> >
>>> > Usman
>>> >
>>> > _______________________________________________
>>> > Moose-dev mailing list
>>> > Moose-dev(a)iam.unibe.ch
>>> >
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>> >
>>> >
>>> >
>>> >
>>> > --
>>> >
www.tudorgirba.com
>>> >
>>> > "Every thing has its own flow"
>>> >
>>> > _______________________________________________
>>> > Moose-dev mailing list
>>> > Moose-dev(a)iam.unibe.ch
>>> >
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>> >
>>> >
>>> > <script-graph.txt>_______________________________________________
>>> > Moose-dev mailing list
>>> > Moose-dev(a)iam.unibe.ch
>>> >
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>> Moose-dev(a)iam.unibe.ch
>>>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev(a)iam.unibe.ch
>>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev