[foreign-memaccess] RFR 8219852: Create a set of standard benchmarks

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Thu Jan 9 23:56:38 UTC 2020


And here's a new revision - I realized that I was not using the BB API 
correctly and was not multiplying the index of the getInt by the carrier 
size.

http://cr.openjdk.java.net/~mcimadamore/panama/8219852_part2_v3/

Maurizio

On 09/01/2020 21:31, Maurizio Cimadamore wrote:
> I have uploaded a new revision of the benchmark. I've now changed both 
> LoopOverConstant and LoopOverNonConstant to use int instead of byte as 
> a carrier, as the byte case is specialized in the BB API (bound check 
> is intrinsified), so I think int is a more representative and complex 
> case.
>
> I also added baseline cases for unsafe in the LoopOverNonConstant as 
> well.
>
> http://cr.openjdk.java.net/~mcimadamore/panama/8219852_part2_v2/
>
> Maurizio
>
> On 09/01/2020 17:41, Maurizio Cimadamore wrote:
>> Here's the benchmark which tests constant segments.
>>
>> http://cr.openjdk.java.net/~mcimadamore/panama/8219852_part2/
>>
>> I've also tweaked your benchmark to test both loop case and single 
>> access case. To do that, I slightly changed the benchmark so that the 
>> benchmark state keeps track of the address, rather than the segment 
>> (to avoid calls to baseAddress() - which is not there in the other 
>> benchmark).
>>
>> Maurizio
>>
>> On 09/01/2020 15:37, Maurizio Cimadamore wrote:
>>> Looks good!
>>>
>>> Maurizio
>>>
>>> On 09/01/2020 15:21, Jorn Vernee wrote:
>>>> On 09/01/2020 15:58, Maurizio Cimadamore wrote:
>>>>> Looks good and works on my machine.
>>>>>
>>>>> I'd suggest a couple of changes:
>>>>>
>>>>> * benchmarks are java/foreign, shouldn't they be 
>>>>> jdk.incubator.foreign, for consistency with module/package name?
>>>> Good point. (I copied what I had from a while back before we 
>>>> switched to the incubator module)
>>>>>
>>>>> * Hoisting seems general as a name - I think what you want to test 
>>>>> here is hoisting when segment is non-final, non-static variable - 
>>>>> I have a similar benchmark for true constant segments that I'd 
>>>>> like to upload, so we need slightly more precise names :-)
>>>>
>>>> Could do LoopOverNonConstant?
>>>>
>>>> Updated webrev: 
>>>> http://cr.openjdk.java.net/~jvernee/panama/webrevs/8219852/webrev.01/
>>>>
>>>> Jorn
>>>>
>>>>>
>>>>> Cheers
>>>>> Maurizio
>>>>>
>>>>> On 09/01/2020 14:32, Jorn Vernee wrote:
>>>>>> make test TEST="micro:java.foreign" 
>>>>>> MICRO="VM_OPTIONS=--add-modules jdk.incubator.foreign"


More information about the panama-dev mailing list