-
Enhancement
-
Resolution: Fixed
-
P4
-
None
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8278003 | 17.0.3-oracle | Claes Redestad | P4 | Resolved | Fixed | b01 |
JDK-8277809 | 17.0.2 | Claes Redestad | P4 | Resolved | Fixed | b07 |
The recently added encodeASCII optimization is applicable to most DoubleByte encodings, which brings performance up to levels close to ISO-8859-1 for encoding ASCII-only char[]s.
Before:
Benchmark (size) (type) Mode Cnt Score Error Units
CharsetEncodeDecode.encode 16384 ISO-8859-1 avgt 30 3.021 ± 0.120 us/op
CharsetEncodeDecode.encode 16384 Shift-JIS avgt 30 47.793 ± 1.942 us/op
CharsetEncodeDecode.encode 16384 GB2312 avgt 30 49.598 ± 2.006 us/op
CharsetEncodeDecode.encode 16384 EUC-JP avgt 30 68.709 ± 5.019 us/op
CharsetEncodeDecode.encode 16384 EUC-KR avgt 30 48.033 ± 1.651 us/op
After:
Benchmark (size) (type) Mode Cnt Score Error Units
CharsetEncodeDecode.encode 16384 ISO-8859-1 avgt 30 2.856 ± 0.078 us/op
CharsetEncodeDecode.encode 16384 Shift-JIS avgt 30 5.287 ± 0.209 us/op
CharsetEncodeDecode.encode 16384 GB2312 avgt 30 5.490 ± 0.251 us/op
CharsetEncodeDecode.encode 16384 EUC-JP avgt 30 7.657 ± 0.368 us/op
CharsetEncodeDecode.encode 16384 EUC-KR avgt 30 5.718 ± 0.267 us/op
Before:
Benchmark (size) (type) Mode Cnt Score Error Units
CharsetEncodeDecode.encode 16384 ISO-8859-1 avgt 30 3.021 ± 0.120 us/op
CharsetEncodeDecode.encode 16384 Shift-JIS avgt 30 47.793 ± 1.942 us/op
CharsetEncodeDecode.encode 16384 GB2312 avgt 30 49.598 ± 2.006 us/op
CharsetEncodeDecode.encode 16384 EUC-JP avgt 30 68.709 ± 5.019 us/op
CharsetEncodeDecode.encode 16384 EUC-KR avgt 30 48.033 ± 1.651 us/op
After:
Benchmark (size) (type) Mode Cnt Score Error Units
CharsetEncodeDecode.encode 16384 ISO-8859-1 avgt 30 2.856 ± 0.078 us/op
CharsetEncodeDecode.encode 16384 Shift-JIS avgt 30 5.287 ± 0.209 us/op
CharsetEncodeDecode.encode 16384 GB2312 avgt 30 5.490 ± 0.251 us/op
CharsetEncodeDecode.encode 16384 EUC-JP avgt 30 7.657 ± 0.368 us/op
CharsetEncodeDecode.encode 16384 EUC-KR avgt 30 5.718 ± 0.267 us/op
- backported by
-
JDK-8277809 Use encodeASCII for ASCII-compatible DoubleByte encodings
- Resolved
-
JDK-8278003 Use encodeASCII for ASCII-compatible DoubleByte encodings
- Resolved
- is blocked by
-
JDK-8274242 Implement fast-path for ASCII-compatible CharsetEncoders on x86
- Resolved
- links to
-
Commit openjdk/jdk17u/565ec1aa
-
Commit openjdk/jdk/6c05cc9d
-
Review openjdk/jdk17u/311
-
Review openjdk/jdk/6102
(2 links to)