On Fri, 29 Apr 2011, Eliot Miranda wrote:
> Have these changes been folded back into VMMaker trunk? There are no changes, this is a VM built from the Trunk. Levente |
On Sat, Apr 30, 2011 at 12:48:31AM +0200, Levente Uzonyi wrote:
> > On Fri, 29 Apr 2011, Eliot Miranda wrote: > > >Have these changes been folded back into VMMaker trunk? > > There are no changes, this is a VM built from the Trunk. > > Levente Support for Cog images (float word ordering) was added in these two VMMaker updates, and is present in any recent VM build (but the Windows VM has not been updated): Name: VMMaker-dtl.189 Author: dtl Time: 6 October 2010, 12:17:37 pm UUID: 29192b6e-491d-4bc6-a209-5ba1c8625da0 Ancestors: VMMaker-dtl.188 VMMaker 4.3.3 Allow a standard interpreter VM to load and run an image that was saved from a Cog or StackInterpreter VM. On image load, the storage format of Float objects is returned to normalized word ordering (different from platform word order for little endian platforms) and unrecognized header flags are cleared. The image will be saved in standard interpreter format (image format 6504 for a 32-bit image), which may subsequently be loaded by a Cog or StackInterpreter VM. Works for 32-bit Cog images (image format 6505) on both 32-bit and 64-bit host (compile -m32 or -m64). Support for 64-bit image formats is not yet implemented, see comment in #normalizeFloatOrderingInImage. Name: VMMaker-dtl.190 Author: dtl Time: 6 October 2010, 8:39:07 am UUID: 4798e721-0a2b-4dea-b924-7492012a75f1 Ancestors: VMMaker-dtl.189 VMMaker 4.3.4 Fix #normalizeFloatOrderingInImage to work on 64-bit Squeak images. Float data storage in a 64-bit image is the same as for a 32 bit image, with the two 32-bit halves stored in the next two 32-bit words beginning at accessibleObjectAfter: floatOop (in the case of 64-bit memory, the two 32-bit halves occupy one object memory word, while a 32-bit object memory uses two). Therefore use the same logic in #normalizeFloatOrderingInImage for a 64-bit image. |
In reply to this post by Levente Uzonyi-2
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 |
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 > > |
In reply to this post by Levente Uzonyi-2
On Sat, 30 Apr 2011, Levente Uzonyi wrote:
> > On Fri, 29 Apr 2011, Eliot Miranda wrote: > >> Have these changes been folded back into VMMaker trunk? > > There are no changes, this is a VM built from the Trunk. Whoops, I forgot that I copied the source files for FilePlugin from Cog's branch, so this VM has stdio support. Levente > > > Levente > |
In reply to this post by Levente Uzonyi-2
It's not about ignoring GC, but to add the influence of GC correctly. Some runs need more time for GC, some don't - even for the same "amount" value. This means, that not GC itself is a variable to block out, but another hidden one that influences the time for GC. What you do not want, is to have "peaks" in your graph that happended by chance, because that doesn't mean anything for the general morphic performance.
Peaks which occur very often for several runs - not only a few times - would be VERY interesting though. :) Marcel |
Free forum by Nabble | Edit this page |