On 11/01/2016, 11:27, "mlvm-dev on behalf of MacGregor, Duncan (GE Energy
Management)" <mlvm-dev-boun...@openjdk.java.net on behalf of
duncan.macgre...@ge.com> wrote:

>On 11/01/2016, 03:16, "mlvm-dev on behalf of Charles Oliver Nutter"
><mlvm-dev-boun...@openjdk.java.net on behalf of head...@headius.com>
>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@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to