[squeak-dev] Morphic Performance Graphs

Levente Uzonyi leves at elte.hu
Sun May 1 00:53:03 UTC 2011


Here's the script I used for these measurements:

rand := Random new.
output := (String new: 100) writeStream.
creating := [
 	| m |
 	m := EllipseMorph  new.
 	ellipses add: m.
 	m color: Color random.
 	m position: (ActiveWorld extent * (rand next @ rand next)) rounded ].
deleting := [ World removeAllMorphsIn: ellipses. ].
hiding := [ ellipses do: [ :item | item hide ] ].
showing := [ ellipses do: [ :item | item show ] ].

morphs := World submorphs.
World removeAllMorphs.
World doOneCycle.
Smalltalk garbageCollect.
output
 	nextPutAll: 'Morphic Performance Test Code v3.0 - ##FLAVOUR## '; cr;
 	nextPutAll: 'amount, createTime, hideTime, showTime, deleteTime'; cr.
#(1 10  100 200 300 400 500 600 700 800 900 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000  30000 100000) do: [ :amount |
 	ellipses := OrderedCollection new.
 	createTime := [
 		amount timesRepeat: creating.
 		World addAllMorphs: ellipses.
 		ActiveWorld doOneCycle ] timeToRun.
 	hideTime := [ hiding value. ActiveWorld doOneCycle. ] timeToRun .
 	showTime := [ showing value. ActiveWorld doOneCycle. ] timeToRun.
 	deleteTime := [ deleting value. ActiveWorld doOneCycle. ] timeToRun.
 	output
 		print: amount; nextPutAll: ', ';
 		print: createTime; nextPutAll: ', ';
 		print: hideTime; nextPutAll: ', ';
 		print: showTime; nextPutAll: ', ';
 		print: deleteTime; cr ].
World addAllMorphs: morphs.
output contents explore


Levente


On Sat, 30 Apr 2011, Levente Uzonyi wrote:

> On Fri, 29 Apr 2011, Levente Uzonyi wrote:
>
>> I've got no time for that right now, maybe later this evening.
>
> Done:
>
> Morphic Performance Test Code v3.0 - Squeak 4.3-11361
> amount, createTime, hideTime, showTime, deleteTime
> 1, 2, 19, 21, 68
> 10, 1, 22, 20, 68
> 100, 57, 51, 56, 52
> 200, 68, 50, 63, 52
> 300, 77, 55, 75, 55
> 400, 90, 54, 81, 55
> 500, 98, 53, 87, 52
> 600, 98, 53, 97, 54
> 700, 112, 55, 100, 57
> 800, 118, 55, 109, 52
> 900, 131, 57, 116, 53
> 1000, 134, 58, 125, 55
> 2000, 214, 66, 197, 51
> 3000, 293, 70, 273, 57
> 4000, 373, 73, 358, 59
> 5000, 531, 80, 420, 61
> 6000, 540, 84, 500, 61
> 7000, 692, 183, 561, 58
> 8000, 704, 97, 685, 63
> 9000, 838, 102, 712, 65
> 10000, 1005, 203, 787, 66
> 30000, 2774, 209, 2994, 94
> 100000, 10310, 1093, 10142, 415
>
> Morphic Performance Test Code v3.0 - Pharo 1.3-13176
> amount, createTime, hideTime, showTime, deleteTime
> 1, 3, 18, 20, 33
> 10, 9, 21, 21, 31
> 100, 30, 25, 25, 23
> 200, 34, 12, 42, 22
> 300, 44, 22, 42, 22
> 400, 55, 26, 50, 10
> 500, 72, 27, 56, 24
> 600, 76, 15, 65, 21
> 700, 78, 25, 72, 23
> 800, 89, 25, 82, 10
> 900, 107, 25, 88, 23
> 1000, 102, 28, 94, 13
> 2000, 196, 26, 169, 13
> 3000, 268, 27, 238, 23
> 4000, 362, 30, 321, 21
> 5000, 450, 34, 391, 23
> 6000, 530, 37, 525, 24
> 7000, 611, 39, 536, 23
> 8000, 695, 45, 616, 27
> 9000, 794, 47, 689, 27
> 10000, 880, 50, 768, 25
> 30000, 2739, 119, 2296, 48
> 100000, 9681, 393, 8895, 166
>
> Morphic Performance Test Code v3.0 - Cuis 3.2-0914
> amount, createTime, hideTime, showTime, deleteTime
> 1, 1, 21, 21, 49
> 10, 2, 22, 26, 51
> 100, 40, 30, 41, 31
> 200, 59, 32, 55, 30
> 300, 69, 31, 73, 31
> 400, 82, 33, 84, 30
> 500, 96, 33, 97, 30
> 600, 118, 33, 116, 30
> 700, 138, 32, 138, 34
> 800, 152, 31, 162, 30
> 900, 180, 32, 184, 31
> 1000, 211, 33, 222, 31
> 2000, 354, 37, 365, 31
> 3000, 475, 41, 483, 32
> 4000, 613, 45, 628, 32
> 5000, 740, 45, 735, 33
> 6000, 859, 52, 870, 34
> 7000, 966, 50, 992, 35
> 8000, 1090, 61, 1082, 37
> 9000, 1171, 61, 1161, 35
> 10000, 1288, 60, 1298, 36
> 30000, 3585, 129, 3466, 53
> 100000, 18824, 469, 11742, 115
>
>
> Levente
>
>



More information about the Squeak-dev mailing list