On Fri, Aug 22, 2014 at 5:42 PM, Tudor Girba <tudor(a)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(a)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(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