Re: Re: TableReport slow down

Sven Van Caekenberghe <[email protected]>
Newsgroups gmane.comp.lang.smalltalk.squeak.seaside
Message-ID <[email protected]>
> On 31 Dec 2015, at 15:02, Hilaire <[email protected]> wrote:
> 
> Hello,
> 
> Some investigation shows an issue while appending an € symbol in the text representation of my money object (the one used by seaside for rendering)
> 
> CGMoney>>printOn: aStream
>     aStream << (amount asScaledDecimal: 2) greaseString << ' ' << '€'
> 
> Replacing '€' by 'EUR' gives back normal rendering time.
> 
> Indeed the '€' is encoded as WideString, so not sure what is happening. All content converted to WideString or what?

Yes, the string starts as a plain ByteString and once you add the € it gets automagically converted to a WideString, but you pay a huge price in performance: it involves the usage of global #become: each time, which is dead slow (Spur will help IIUC).

A possible solution is to somehow start with a WideString from the beginning (or force it before doing all elements one by one).

> But I really want to rendery euro symbol
> 
> Thanks
> 
> Hilaire
> 
> 
> Le 31/12/2015 14:32, Hilaire a écrit :
>> Hello,
>> 
>> I am experiencing a slow down rendering a large table report:
>> 
>> The table report is more than 240 lines. Reading at the source html, it
>> is about 900 bytes per lines, so a bit more than 200kB for the report.
>> Not much for the rest of the page. The page renders in a bit more 5s, on
>> a local loop.
>> Profiling shows most of time is spent in WideString>>at:put:
>> 
>> For me 200KB is not that big and this slow down does not look normal.
>> 
>> Seaisde is 3.1.3.2
>> Smalltalk is Pharo3
>> CPU is double core intel 800Mhz-2000Mhz
>> VM is 3.9-7   
>> 
>> The profiling tree is as shown in the screenshot.
>> 
>> Thanks
>> 
>> Hilaire
>> 
>> 
>> 
>> 
>> _______________________________________________
>> seaside mailing list
>> 
>> [email protected]
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> 
> 
> -- 
> Dr. Geo
> 
> http://drgeo.eu
> http://google.com/+DrgeoEu
> _______________________________________________
> seaside mailing list
> [email protected]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.