[Pharo-dev] Small text composition bench

Frank Shearar frank.shearar at gmail.com
Fri Oct 11 03:19:49 EDT 2013


http://build.squeak.org/ is your best bet. Grab from the SqueakTrunk job's last successful build.

frank

On 11 Oct 2013, at 8:09, Stéphane Ducasse <stephane.ducasse at inria.fr> wrote:

> I do not know
> I could not find a squeak image with the latest code and the update is not working from the june image.
> Now the newtext model should replace all that but still
> 	- we need to benchmark it
> 	- release it 
> Stef
> 
> 
> 
>> Me too.
>> 
>> What exactly doing this code?
>> 
>> Paragraph new compose: tm text
>>         style: tm textStyle copy
>>         from: 1
>>         in:
>> 
>> Is it layout building stuff at new text model?
>> 
>> 
>> 2013/10/11 Stéphane Ducasse <stephane.ducasse at inria.fr>
>> Hi Igor
>> 
>> it would be good to see how the new text model perform.
>> 
>> Stef
>> 
>> 
>> Begin forwarded message:
>> 
>>> From: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
>>> Subject: Fwd: Small text composition bench
>>> Date: October 10, 2013 10:46:42 PM GMT+02:00
>>> To: Stéphane Ducasse <stephane.ducasse at inria.fr>
>>> 
>>> 
>>> 
>>> ---------- Forwarded message ----------
>>> From: Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>
>>> Date: 2013/10/10
>>> Subject: Small text composition bench
>>> To: The general-purpose Squeak developers list <squeak-dev at lists.squeakfoundation.org>
>>> 
>>> 
>>> Here is a simple bench:
>>> 
>>> (StringHolder new contents:  (Compiler evaluate: (FileStream fileNamed: 'text.st') contentsOfEntireFile )) openLabel:  'Working With Squeak 2' .
>>> ((SystemWindow allSubInstances detect: [:e | e label = 'Working With Squeak 2']) findDeepSubmorphThat: [:m | m class = PluggableTextMorphPlus] ifAbsent: [] ) textMorph
>>> ifNotNil: [:tm | MessageTally spyOn: [
>>>     [100 timesRepeat: [(NewParagraph new)
>>>         compose: tm text
>>>         style: tm textStyle copy
>>>         from: 1
>>>         in: tm container]] timeToRun]].
>>> 
>>> Before our changes: 162 ms
>>> After our changes: 95 ms
>>> And my Pharo 3.0 (#30417) (not up to date) :  364 ms
>>> 
>>> The main gain is avoiding
>>> - the stopConditions copy
>>> - and the TextStopConditions indirection
>>> - and of course the Multi* when not necessary (Pharo does not)
>>> 
>>> Here is the test for Pharo variant:
>>> 
>>> | text |
>>> text := Compiler evaluate: (FileSystem workingDirectory parent parent parent / 'text.st' ) readStream contentsOfEntireFile .
>>> (StringHolder new contents:  text) openLabel:  'Working With Squeak 2' .
>>> ((SystemWindow allSubInstances detect: [:e | e label = 'Working With Squeak 2']) findDeepSubmorphThat: [:m | m class = PluggableTextMorph] ifAbsent: [] ) textMorph
>>> ifNotNil: [:tm | MessageTally spyOn: [
>>>     [100 timesRepeat: [(Paragraph new)
>>>         compose: text
>>>         style: tm textStyle copy
>>>         from: 1
>>>         in: tm container]] timeToRun]].
>>> 
>>> 
>>> 
>> 
>> 
>> 
>> 
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131011/1156f2ea/attachment-0002.html>


More information about the Pharo-dev mailing list