8219876: (bf) Improve IndexOutOfBoundsException messages in $Type$Buffer classes
Roger Riggs
Roger.Riggs at oracle.com
Fri Mar 15 19:22:59 UTC 2019
Hi Brian,
The latest patch [5] looks fine.
Roger
On 03/14/2019 07:06 PM, Brian Burkhalter wrote:
>
>> On Mar 1, 2019, at 2:06 AM, Alan Bateman <Alan.Bateman at oracle.com
>> <mailto:Alan.Bateman at oracle.com>> wrote:
>>
>> On 28/02/2019 21:57, Brian Burkhalter wrote:
>>>
>>>> On Feb 27, 2019, at 11:57 PM, Alan Bateman <Alan.Bateman at oracle.com
>>>> <mailto:Alan.Bateman at oracle.com>> wrote:
>>>>
>>>> I assume you'll run benchmarks and/or look at the generated code to
>>>> make sure that the checks inline as expected.
>>>
>>> The benchmark output [1] shows a small improvement for a 1024-byte
>>> bulk get and a slight degradation for a 1-byte bulk get. The
>>> benchmark code is [2].
>>>
>>> The disassembled classes [3] (from ‘javap -c’) differ in the
>>> presence of a “pop” for the new code containing
>>> Objects.checkFromIndexSize().
>>>
>> I should have been clearer, I meant the code generated at runtime, as
>> in -XX:+PrintAssembly but if you are doing benchmarks to make sure
>> the changes don't regress then it should be good.
>
> I have to say that the generated code as in -XX:+PrintAssembly remains
> inscrutable to me, but I re-ran the benchmark with before and after
> release builds on a more or less quiescent system and the proposed
> change actually shows a small performance improvement for both 1- and
> 1024-byte bulk gets [1].
>
> While we are at it, modifying the original patch [2] as suggested in
> [3] might be worthwhile. The delta is at [4] with the composite patch
> at [5].
>
> Thanks,
>
> Brian
>
> [1] Benchmark output
> [1A] Before
>
> Benchmark Mode Cnt Score Error Units
> CheckBounds.bulkGet1 thrpt 10 168709599.809 ± 18518204.156 ops/s
> CheckBounds.bulkGet1024 thrpt 10 31044391.178 ± 402021.088 ops/s
>
> [1B] After
>
> Benchmark Mode Cnt Score Error Units
> CheckBounds.bulkGet1 thrpt 10 175271277.362 ± 2458135.860 ops/s
> CheckBounds.bulkGet1024 thrpt 10 32265609.310 ± 400376.804 ops/s
>
> [2] http://cr.openjdk.java.net/~bpb/8219876/webrev.00/
> <http://cr.openjdk.java.net/%7Ebpb/8219876/webrev.00/>
> [3] http://mail.openjdk.java.net/pipermail/nio-dev/2019-March/005954.html
> [4] http://cr.openjdk.java.net/~bpb/8219876/webrev.00-01/
> <http://cr.openjdk.java.net/%7Ebpb/8219876/webrev.00-01/>
> [5] http://cr.openjdk.java.net/~bpb/8219876/webrev.01/
> <http://cr.openjdk.java.net/%7Ebpb/8219876/webrev.01/>
More information about the nio-dev
mailing list