Some collection protocols were optimized so your result makes sense.

The current performance bottleneck for your application definitely comes
from the use of isKindOf: based on your profiles. inheritsFrom: is called
by isKindOf: I guess.

Now be very careful the current GC has very strange side effect. Did you
perform manually a full GC before each bench ?



2014-06-08 20:18 GMT+02:00 Hilaire Fernandes <[email protected]>:

> I have run a Sketch script on DRGeo on Pharo 1.4 and 3.0
> The script involved a lot of collection operations and object comparison.
>
>
> The leaves results are strange, because the script is the same:
>
>
> On Pharo 1.4:
>
> **Leaves**
> 14.2% {97ms} Array class(Behavior)>>inheritsFrom:
> 11.4% {77ms} OrderedCollection(SequenceableCollection)>>hasEqualElements:
> 9.7% {66ms} DrGPointIntersectionItem>>=
> 9.6% {65ms} DrGPointIntersectionItem(DrGMathItem)>>parentsEqual:
> 5.0% {34ms} OrderedCollection>>at:
> 5.0% {34ms} Array(SequenceableCollection)>>first
> 4.7% {32ms} DrGPointFreeItem(DrGMathItem)>>=
> 3.5% {24ms} OrderedCollection(SequenceableCollection)>>=
> 2.7% {18ms} Array(Object)>>isKindOf:
> 2.4% {16ms} OrderedCollection>>do:
> 2.4% {16ms} OrderedCollection>>size
> 1.8% {12ms}
> OrderedCollection(SequenceableCollection)>>indexOf:startingAt:ifAbsent:
> 1.2% {8ms} OrderedCollection>>ensureBoundsFrom:to:
> 1.2% {8ms} SmallInteger(Number)>>negative
>
>
>
> On Pharo3:
>
> **Leaves**
> 15.8% {168ms} Array class(Behavior)>>inheritsFrom:
> 11.4% {121ms} DrGCircle2ptsItem(DrGMathItem)>>=
> 8.3% {88ms} OrderedCollection>>size
> 8.3% {88ms} DrGCircle2ptsItem(DrGMathItem)>>parentsEqual:
> 7.5% {80ms} OrderedCollection>>at:
> 7.1% {76ms} OrderedCollection(SequenceableCollection)>>=
> 6.6% {70ms} Array(SequenceableCollection)>>first
> 6.0% {63ms} DrGPointIntersectionItem>>=
> 5.6% {59ms} OrderedCollection(SequenceableCollection)>>hasEqualElements:
> 1.9% {20ms} OrderedCollection>>do:
> 1.9% {20ms} OrderedCollection>>ensureBoundsFrom:to:
> 1.7% {18ms} OrderedCollection(Object)>>isKindOf:
> 1.5% {16ms}
> OrderedCollection(SequenceableCollection)>>indexOf:startingAt:ifAbsent:
> 1.5% {16ms} SmallInteger(Number)>>negative
>
>
>
>
> True in between DrGeo changes a bit but normally not in the part involved:
>
>
> --
> Dr. Geo http://drgeo.eu
> iStoa - https://launchpad.net/istoa
>
>
>

Reply via email to