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