On 10 Jun 2014, at 02:59, Freemail <nicolaihess@web.de> wrote:
On Tue Jun 10 06:58:58 2014 Max Leske <maxleske@gmail.com> wrote:
On 10.06.2014, at 00:08, Nicolai Hess <nicolaihess@web.de> wrote:
The script is slower on Pharo3. But I think, this has nothing to do with the pharo3 image, as the same drgeo image is slower on a pharo3 vm than on the pharo 1.4 vm.
When you say âpharo 1.4 vmâ, do you mean CogVM? Or SqueakVM?
And just to be sure (Iâm sure youâve thought of that): did you âwarm upâ the vm? JIT apparently needs that.
Max
cog. No, no warm up. But I ran the script a dozen times. But the maesured times are the same.
well⦠there is no such thing as âpharo 1.4 vmâ or âpharo 3.0 vmâ, there are different versions, depending on different builds. We know this is confuse and we are slowly moving in the direction of âone vm per image versionâ, but for now, only way to know is to print Smalltalk vm version (in 3.0, I do not remember exactly how it was in 1.4⦠probably Smalltalk vmVersion) also⦠is same image in each run? and finally: even if different times is because of different vms, that does not necessarily means a problem in vm (things can change and optimisations in one place could cause marginally slower times in others), so in that case we will need more digging :) Esteban
2014-06-09 23:10 GMT+02:00 Esteban Lorenzano <estebanlm@gmail.com>: I do not understand, what is/could be a vm issue?
Esteban
On 09 Jun 2014, at 18:08, Nicolai Hess <nicolaihess@web.de> wrote:
Is this a VM issue? I took the same image (drgeo from http://www.drgeo.eu/ download page) and run it with pharo4 vm and pharo 1.4 (from http://www.drgeo.eu/)
520 msec vs 371 msec:
Image ----- P:\Pharo4.0\drgeo.image Pharo1.4 Latest update: #14459 Unnamed
Virtual Machine --------------- P:\Pharo4.0\Pharo.exe
- 512 tallies, 520 msec.
....
**Leaves** 13.1% {68ms} Array class(Behavior)>>inheritsFrom: 9.4% {49ms} DrGPointIntersectionItem>>= 8.0% {42ms} DrGPointFreeItem(DrGMathItem)>>= 6.6% {35ms} OrderedCollection(SequenceableCollection)>>hasEqualElements: 6.6% {35ms} DrGCircle2ptsItem(DrGMathItem)>>parentsEqual: 6.3% {33ms} WeakActionSequence(SequenceableCollection)>>first 5.7% {29ms} OrderedCollection>>at: 4.7% {24ms} OrderedCollection>>size 2.7% {14ms} Array(Object)>>isKindOf: 2.7% {14ms} OrderedCollection(SequenceableCollection)>>= 1.8% {9ms} OrderedCollection>>do: 1.8% {9ms} OrderedCollection(SequenceableCollection)>>indexOf:startingAt:ifAbsent:
Image ----- c:\Users\nicolai\Downloads\DrGeo.app\Contents\Resources\drgeo.image Pharo1.4 Latest update: #14459 Unnamed
Virtual Machine --------------- c:\Users\nicolai\Downloads\DrGeo.app\drgeo.exe
- 366 tallies, 371 msec.
**Leaves** 14.5% {54ms} OrderedCollection(SequenceableCollection)>>hasEqualElements: 11.5% {43ms} DrGPointIntersectionItem>>= 10.7% {40ms} OrderedCollection class(Behavior)>>inheritsFrom: 6.8% {25ms} DrGPointIntersectionItem(DrGMathItem)>>parentsEqual: 5.7% {21ms} OrderedCollection>>at: 5.5% {20ms} Array(SequenceableCollection)>>first 5.2% {19ms} OrderedCollection>>size 4.6% {17ms} DrGCircle2ptsItem(DrGMathItem)>>= 4.4% {16ms} Array(SequenceableCollection)>>= 3.3% {12ms} Array(Object)>>isKindOf: 2.5% {9ms} OrderedCollection(SequenceableCollection)>>indexOf:startingAt:ifAbsent: 2.2% {8ms} SmallInteger>>bitShift: 1.6% {6ms} OrderedCollection>>do:
2014-06-09 12:24 GMT+02:00 Hilaire Fernandes <hilaire.fernandes@gmail.com>: Hi Nicolai,
No, check on Smalltalk Hub. You will find instruction to install it as well.
The ConfigurationOfDrGeo will not fetch the latest code, but once installed you can update the packages -Core and -Polymorph throught Monticello.
Hilaire
Script to try for rendering slowness (replace "figure do:" with "MessageTally spyOn:" to measure)
|canvas s stats points|
points :=Array new: 12. stats := Array new: 12 withAll: 0.
canvas := DrGeoCanvas new. canvas scale: 20; fullscreen ; centerTo: 6@10. 2 to: 12 do: [:i | points at: i put: (canvas point: i@0.1). (points at: i) square; color: Color blue. s := canvas segment: i@0 to: (points at: i). s color: Color red].
figure do: [ 1 to: 10000 do: [:i| s := 6 atRandom + 6 atRandom. stats at: s put: ((stats at: s)+1). (points at: s) name: (stats at: s) asString; moveTo: s @ ((stats at: s) / 100). canvas update]].
Or another script to stress other aspect:
| figure triangle | figure := DrGeoCanvas new fullscreen. triangle := [ ].
triangle := [:p1 :p2 :p3 :n | |s1 s2 s3 perp cercle p4 | s1 := figure segment: p1 to: p2. s2 := (figure segment: p2 to: p3) color: Color red; large. s3 := figure segment: p3 to: p1. perp := figure perpendicular: s3 at: p3. cercle := figure circleCenter: p3 to: p2. p4 := figure altIntersectionOf: cercle and: perp. perp hide. cercle hide. p4 hide. n > 0 ifTrue: [triangle value: p1 value: p3 value: p4 value: n -1]].
MessageTally spyOn: [triangle value: 0@0 value: -1@0 value: -1@1 value: 50]
Le 08/06/2014 23:07, Nicolai Hess a écrit :
I would like to take a look at this, can you provide me your current DrGeo version you are using for this. (I guess it is not http://www.squeaksource.com/DrGeoII)
-- Dr. Geo http://drgeo.eu iStoa - https://launchpad.net/istoa