Very nice analysis! But it shows the problems with microbenchmarks more than anything else, I'd say. :-) looking forward to your debug info improvements though!
2011/6/17, Gwenael Casaccio <[email protected]>: > Hi, > > I've made a small benchmark with Coq-Stack (no jit) and GNU Smalltalk. > > {OrderedCollection } collect: [ :class | > | queue | > queue := class new. > class -> ( > (1 to: 5) collect: [ :run | > ObjectMemory globalGarbageCollect. > { > (Time millisecondsToRun: [ 1 to: 1000000 do: [ :each | > queue addFirst: each ] ]). > (Time millisecondsToRun: [ 1 to: 1000000 do: [ :each | > queue removeFirst ] ]) } ]) ]. > > I use a tweaked VM (no more LINE_NUMBER byte code and few other changes) > but the results are interesting: > > Cog-Stack: > {OrderedCollection->#(#(178 264) #(116 262) #(116 260) #(114 262) #(116 > 260))} > > Gst: > (OrderedCollection->((371 797 ) (323 658 ) (315 661 ) (317 660 ) (316 > 658 ) ) ) > > Now if I look at OrderedCollection>>#removeFirst at Squeak or Gst: > > We see that GST decrease the size instead of Squeak so if we remove > the line: > > self size < self shrinkSize ifTrue: [self shrink]. > > Gst without decreasing: > (OrderedCollection->((383 195 ) (284 196 ) (173 196 ) (172 196 ) (173 > 196 ) ) > > And I guess #addFirst: can be tuned too :) > > Cheers, > Gwen > > _______________________________________________ > help-smalltalk mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/help-smalltalk > > -- Inviato dal mio dispositivo mobile _______________________________________________ help-smalltalk mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-smalltalk
