Hi Jan,

Thanks a lot for looking into this. I checked, but I think the improvement you mention did not make it in the repo of PetitParser.

Version JanKurs.238 is from August 20 (before the slowdown report):

Name: PetitParser-JanKurs.238
Author: JanKurs
Time: 20 August 2014, 10:13:55.838908 am
UUID: a7316ed3-0751-4703-80c9-2790add1cc00
Ancestors: PetitParser-JanKurs.237

The latest version is JanKurs.239 and it is also from the same day:

Name: PetitParser-JanKurs.239
Author: JanKurs
Time: 20 August 2014, 12:13:26.196695 pm
UUID: 8985ce0d-8d40-47ef-bd82-ead0d8695be2
Ancestors: PetitParser-JanKurs.238

Could you please double check?

Cheers,
Doru



On Sun, Aug 24, 2014 at 3:56 PM, Jan Kurš <kurs.jan@gmail.com> wrote:
Hey,

I can confirm the slowdown. The latest change (JanKurs.238, committed today) should return most of the performance back. Please, let me know, if you have any other issues

Cheers,
Jan


On 22 August 2014 16:42, 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.

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



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




--
www.tudorgirba.com

"Every thing has its own flow"