Getting back into indy...need a better argument collector!

MacGregor, Duncan (GE Energy Management) duncan.macgregor at ge.com
Mon Jan 11 11:27:31 UTC 2016


On 11/01/2016, 03:16, "mlvm-dev on behalf of Charles Oliver Nutter"
<mlvm-dev-bounces at openjdk.java.net on behalf of headius at 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.

Duncan.



More information about the mlvm-dev mailing list