<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
Hi folks,
<br>
<br>
milestone 4 of charset enhancement is released.
<br>
<br>
- I reduced the jar-footprint, concerning entire single-byte needs,
compared to original JDK 6 binaries, down to 7 %, which also should
perform class loading, (not to forget: encoder maps are lazy
initialized), even though there are added 21 specialized coder
algorithms.
<br>
- In this release there is only 1 class <SingleByteCharset> for
all single-byte charsets, which reads decoder mapping + all names
including aliases from a small data file (69..731 Bytes, average 250
Bytes). This is possible, because numerous charsets can inherit their
mappings (256 2-byte chars) from each other, and empty or 1:1 ranges
(especially \u0000..\u007F) are filled by constructor.<br>
- Additionally a set of 7 Decoder and 14 Encoder classes do there work,
specially speed + memory optimised for the charsets, having diverse
character spreading and frequency of occurrence. A special
MapCalculator class for playing with different parameters is provided
in the test package.<br>
- The aliases and historical names should no more statically and
entirely loaded, provided and linked from StandardCharsets class. They
additionally could be easy edited in files standard-charsets and
extended-charsets (refer <a
 href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6795538">Bug
Id: 6795538</a>). If some day they are defined entirely upper-case,
they could be omitted completely, as they are redundantly
case-standardised existing in the FastCharsetProvider lookup maps.
Determining the 'contains()' references by this way would be also
reasonable (refer <a
 href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6761481">Bug
Id: 6761481</a>), but containment of ASCII is already calculated
automatically.<br>
<br>
See my projects home: ---> <a class="moz-txt-link-freetext"
 href="https://java-nio-charset-enhanced.dev.java.net/">https://java-nio-charset-enhanced.dev.java.net/</a>
<br>
<br>
I believe, these techniques could also be used for most multi-byte
charsets, especially inheriting maps to reduce entire charsets
footprint.<br>
<br>
<br>
<u>Outlook Milestone 5</u> : Final performance optimisation by
dedicated inlining, exception catching, surrogate handling etc..<br>
                                  <b>Urgently waiting</b> for
Christian Thalinger's optimization of "widening conversions".<br>
<br>
<br>
Happy easter,
<br>
<br>
-Ulf<br>
<br>
P.S.: I'm on the way, providing changesets slice by slice for OpenJDK 7.<br>
BTW: Is there a way to add author and/or contributor annotation in the
sources to <u>honour the investigation of external collaborators</u>
(almost 1 year in my case)?<br>
<br>
<br>
</body>
</html>