On Sat, 18 Feb 2023 23:26:08 GMT, Claes Redestad <redes...@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. This pull request has now been integrated. Changeset: 92dfa117 Author: Claes Redestad <redes...@openjdk.org> URL: https://git.openjdk.org/jdk/commit/92dfa1175e4898fc491115e004380780b6862473 Stats: 24 lines in 1 file changed: 11 ins; 2 del; 11 mod 8302863: Speed up String::encodeASCII using countPositives Reviewed-by: alanb ------------- PR: https://git.openjdk.org/jdk/pull/12640