Re: [External] : Re: Getting back into indy...need a better argument collector!

2021-04-05 Thread Jorn Vernee
Okay, the diagram turned out more crude than intended due to automatic email formatting. See here instead: http://cr.openjdk.java.net/~jvernee/Collector_Diag.txt Jorn On 05/04/2021 21:16, Jorn Vernee wrote: Maybe you could do a fold with  a 'filler' that fills multiple elements at a time to r

Re: [External] : Re: Getting back into indy...need a better argument collector!

2021-04-05 Thread Jorn Vernee
Maybe you could do a fold with  a 'filler' that fills multiple elements at a time to reduce the depth. e.g. declare a bunch of: void fillArray(Object[] arr, int startPos, Object a0,  Object a1, ...) {     arr[startPos + 0] = a0;     arr[startPos + 1] = a1;     ... } With differing arities, and

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

2021-04-02 Thread Charles Oliver Nutter
First attempt at a workaround seems to be a wash. I rolled back to my older logic (that does not use a hand-crafted collector method) to come up with a pure-MethodHandle workaround for asCollector. I came up with this (using InvokeBinder): ``` MethodHandle constructArray = Binder.from(arrayType, O

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

2021-04-01 Thread Charles Oliver Nutter
Very nice! I will have a look at the pull request and perhaps it will lead me to a short-term work around as well. On Thu, Apr 1, 2021, 12:04 Jorn Vernee wrote: > Hi Charlie, > > (Sorry for replying out of line like this, but I'm not currently > subscribed to the mlvm-dev mailing list, so I coul

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

2021-04-01 Thread Jorn Vernee
Hi Charlie, (Sorry for replying out of line like this, but I'm not currently subscribed to the mlvm-dev mailing list, so I could not reply to your earlier email thread directly.) I have fixed the performance issue with asCollector you reported [1], and with the patch the performance should b

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

2021-03-26 Thread Charles Oliver Nutter
Thanks Paul! I am moving forward with my JRuby PRs but if I can help in any way let me know. I am especially interested in whether there might be some workaround rather than having to write my own custom argument boxing collectors. Will try to poke around at other combinations of handles and see w

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

2021-03-26 Thread Paul Sandoz
Hi Charlie, Thanks for the details. I quickly logged: https://bugs.openjdk.java.net/browse/JDK-8264288 I don’t have time to dive into the details right now. Perhaps next week, or hopefully someone else can. Paul. > On Mar 25, 2021, at 9:25 PM, Charles Oliver Nutter > wrote: > > JRuby bra

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

2021-03-25 Thread Charles Oliver Nutter
JRuby branch with changes to use our own collector methods: https://github.com/jruby/jruby/pull/6630 InvokeBinder 1.2 added collect(index, type, collector) that calls MethodHandles.collectArguments: https://github.com/headius/invokebinder/commit/9650de07715c6e15a8ca4029c40ea5ede9d5c4c9 A build of

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

2021-03-25 Thread Charles Oliver Nutter
After experimenting with MethodHandles.collectArguments (given a hand-written collector function) versus my own logic (using folds and permutes to call my collector), I can confirm that both are roughly equivalent and better than MethodHandle.asCollector. The benchmark linked below calls a lightwe

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

2021-03-25 Thread Charles Oliver Nutter
Well it only took me five years to circle back to this but I can confirm it is just as bad now as it ever was. And it is definitely due to collecting a single type. I will provide whatever folks need to investigate but it is pretty straightforward. When asking for asCollector of a non-Object[] typ

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

2016-01-14 Thread Charles Oliver Nutter
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)" < duncan.macgre...@ge.com> wrote: > On 11/01/2016, 11:27, "mlvm-dev on behalf of MacGregor, Duncan (GE Energy > Management)" duncan.macgre...@ge.c

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

2016-01-14 Thread MacGregor, Duncan (GE Energy Management)
On 11/01/2016, 11:27, "mlvm-dev on behalf of MacGregor, Duncan (GE Energy Management)" wrote: >On 11/01/2016, 03:16, "mlvm-dev on behalf of Charles Oliver Nutter" > >wrote: >... >>With asCollector: 16-17s per iteration >> >>With hand-written array construction: 7-8s per iteration >> >>A sampling

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

2016-01-11 Thread MacGregor, Duncan (GE Energy Management)
On 11/01/2016, 03:16, "mlvm-dev on behalf of Charles Oliver Nutter" 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 o

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

2016-01-10 Thread Charles Oliver Nutter
Hello folks! Now that we're a few months into JRuby 9000 I've started to hack on the indy bindings again. Things are looking good so far. I'm working on getting closures to inline where they're invoked by chaining together a number of GWT just like a polymorphic call site. Anyway, my discovery tod