On Mon, 20 Feb 2023 21:40:41 GMT, Brett Okken <d...@openjdk.org> wrote:

>> When encoding Strings to US-ASCII we can speed up the happy path 
>> significantly by using `StringCoding.countPositives` as a speculative check 
>> for whether there are any chars that needs to be replaced by `'?'`. Once a 
>> non-ASCII char is encountered we fall back to the slow loop and replace as 
>> needed.
>> 
>> An alternative could be unrolling or using a byte array VarHandle, as 
>> show-cased by Brett Okken here: 
>> https://mail.openjdk.org/pipermail/core-libs-dev/2023-February/100573.html 
>> Having to replace chars with `?` is essentially an encoding error so it 
>> might be safe to assume this case is exceptional in practice.
>
> For the happy path of no encoding failures, this "trivial" change is a great 
> improvement.

Thanks for reviewing - and thanks @bokken for inspiring this change.

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

PR: https://git.openjdk.org/jdk/pull/12640

Reply via email to