On Fri, Aug 22, 2014 at 5:42 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi,

Thanks for raising this.

We did not have time to announce these changes properly. We integrated Jan's work on supporting island parsing and enhanced traceability. The features are really cool. To this end, the stream of petit parser was replaced with a first class context that holds the stream.

I understand that context is important when parsing a program for certain parsing related information.

In my case, I am using PetitParser more as a syntax highlighter on the lines of PPTextHighlighter and in that case you dont need much of contextual information. All you need is token positions. Can we envisage, for such usage, a simplistic but more robust parser?

usman
 

We did expect a slight slowdown, but not a factor of 7 (which is what I get from your measurements) though.

Jan? :)

Doru


On Fri, Aug 22, 2014 at 1:30 PM, Usman Bhatti <usman.bhatti@gmail.com> wrote:
Hi,

Recent changes in PetitParser have caused parsing to slow down by a factor of 15-20. Here is an example run on freshly downloaded Moose image:


[|string allStyles  text|
string := (PharoFilesOpener default changesFileOrNil contents copyFrom: 1 to: 60000).
text := string asText.
allStyles := {
'Announcement' -> TextColor green. 
'Collections' -> TextColor blue.
'File' -> TextColor blue.
 'Metacello' -> TextColor red.
'Monticello' -> TextColor magenta.
'Morphic' -> TextColor orange.
'Mooose' -> TextColor green.
'FAMIX' -> TextColor green.
'Roassal' -> TextColor green.
}.
allStyles do: [ :assoc | ((assoc key asParser, #newline asParser negate star) matchingRangesIn: string) do: [:aRange | text addAttribute: (assoc value) from: aRange first to: aRange last] ].
text] timeToRun ==> 15 sec

==============
now do this:

Gofer new url: 'http://smalltalkhub.com/mc/Moose/PetitParser/main'; version:'PetitParser-DiegoLont.233'; load.

and run the example again.
timeToRun ===> 2 sec

So, we need to have a look at what is added recently in PetitParser that is making it slow down quite significantly because the for the larger systems, this can be enormous.

regards,

Usman

P.S: Tests run on OS X 10.9.4, 2.3 GHz, 8 GB RAM, HD SSD.

_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev




--

"Every thing has its own flow"

_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev