Thanks Duncan. I will try to look under the covers this evening.

- Charlie (mobile)
On Jan 14, 2016 14:39, "MacGregor, Duncan (GE Energy Management)" <> wrote:

> On 11/01/2016, 11:27, "mlvm-dev on behalf of MacGregor, Duncan (GE Energy
> Management)" < on behalf of
>> wrote:
> >On 11/01/2016, 03:16, "mlvm-dev on behalf of Charles Oliver Nutter"
> >< on behalf of>
> >wrote:
> >...
> >>With asCollector: 16-17s per iteration
> >>
> >>With hand-written array construction: 7-8s per iteration
> >>
> >>A sampling profile only shows my Ruby code as the top items, and an
> >>allocation trace shows Object[] as the number one object being
> >>created...not IRubyObject[]. Could that be the reason it's slower?
> >>Some type trickery messing with optimization?
> >>
> >>This is very unfortunate because there's no other general-purpose way
> >>to collect arguments in a handle chain.
> >
> >I haven¹t done any comparative benchmarks in that area for a while, but
> >collecting a single argument is a pretty common pattern in the Magik code,
> >and I had not seen any substantial difference when we last touched that
> >area. However we are collecting to plain Object[] so it might be that is
> >the reason for the difference. If I¹ve got time later this week I¹ll do
> >some experimenting and check what the current situation is.
> Okay, I’ve now had a chance to try this in with our language benchmarks
> and can’t see any significant difference between a hand crafted method and
> asCOllector, but we are dealing with Object and Object[], so it might be
> something to do with additional casting.
> Duncan.
> _______________________________________________
> mlvm-dev mailing list
mlvm-dev mailing list

Reply via email to