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