[foreign-memaccess+abi] RFR: Improve strlen performance [v6]

Maurizio Cimadamore mcimadamore at openjdk.org
Tue Aug 15 15:16:28 UTC 2023


On Tue, 15 Aug 2023 14:40:55 GMT, Per Minborg <pminborg at openjdk.org> wrote:

>> This PR suggests removing the use of native calls for strlen and instead use Java implementations.
>> 
>> The PR also suggest performance improvements for quad word strlen.
>> 
>> Here are some benchmarks that compares the performance of the new proposed methods with the performance of the JDK 21 variants (called "legacy" methods):
>> 
>> <img width="2596" alt="image" src="https://github.com/openjdk/panama-foreign/assets/7457876/c785f341-c826-4e3e-bf56-8387b1e96010">
>
> Per Minborg has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Allow heap segments of Long and Double to use chunked len calc

test/jdk/java/foreign/TestStringEncoding.java line 85:

> 83:                         assertEquals(text.byteSize(), expectedByteLength);
> 84: 
> 85:                         String roundTrip = text.getString(0, charset);

Why wasn't this call failing before the latest changes? Wouldn't that have caused unaligned access (as trying to read a LONG out of a byte[] heap segment) ?

-------------

PR Review Comment: https://git.openjdk.org/panama-foreign/pull/862#discussion_r1294739370


More information about the panama-dev mailing list