See, how encoder mappings could be optimized
Ulf Zibis
Ulf.Zibis at CoSoCo.de
Mon Jul 7 22:25:31 UTC 2008
See, how encoder mappings could be optimized:
Example of JIS-X-0201 charset before optimization:
=========================================
JIS_X0201 --> offset: 0000, ^mask: 0000
Old mapping: pageSize: 256, maxChar: \uFF9F, maxPage: 256, usedPages:
4, c2bMapSize: 775, totalElements: 1031, totalBytes: 2062
Results: pageSize: 512, maxChar: \uFF9F, maxPage: 128, usedPages:
3, c2bMapSize: 1536, totalElements: 1664, totalBytes: 2048
Results: pageSize: 256, maxChar: \uFF9F, maxPage: 256, usedPages:
3, c2bMapSize: 768, totalElements: 1024, totalBytes: 1792
Results: pageSize: 128, maxChar: \uFF9F, maxPage: 512, usedPages:
4, c2bMapSize: 512, totalElements: 1024, totalBytes: 2560
Results: pageSize: 64, maxChar: \uFF9F, maxPage: 1023, usedPages:
4, c2bMapSize: 256, totalElements: 1279, totalBytes: 4348
0000-07FF: - - 1 - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
0800-0FFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
1000-17FF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
1800-1FFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
2000-27FF: 1 - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
2800-2FFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
3000-37FF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
3800-3FFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
4000-47FF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
4800-4FFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
5000-57FF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
5800-5FFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
6000-67FF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
6800-6FFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
7000-77FF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
7800-7FFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
8000-87FF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
8800-8FFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
9000-97FF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
9800-9FFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
A000-A7FF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
A800-AFFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
B000-B7FF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
B800-BFFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
C000-C7FF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
C800-CFFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
D000-D7FF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
D800-DFFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
E000-E7FF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
E800-EFFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
F000-F7FF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
F800-FFFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - 31 32
Example of JIS-X-0201 charset after optimization:
=========================================
JIS_X0201 --> offset: FF40, ^mask: 0000
Old mapping: pageSize: 256, maxChar: \uFF9F, maxPage: 256, usedPages:
4, c2bMapSize: 775, totalElements: 1031, totalBytes: 2062
Results: pageSize: 512, maxChar: \uFF9F, maxPage: 17, usedPages:
2, c2bMapSize: 1024, totalElements: 1041, totalBytes: 1092
Results: pageSize: 256, maxChar: \uFF9F, maxPage: 33, usedPages:
3, c2bMapSize: 768, totalElements: 801, totalBytes: 900
Results: pageSize: 128, maxChar: \uFF9F, maxPage: 66, usedPages:
3, c2bMapSize: 384, totalElements: 450, totalBytes: 648
Results: pageSize: 64, maxChar: \uFF9F, maxPage: 132, usedPages:
4, c2bMapSize: 256, totalElements: 388, totalBytes: 784
0000-07FF: 31 32 - - - 1 - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
0800-0FFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
1000-17FF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
1800-1FFF: - - - - - - - ; - - - - - - -
; - - - - - - - ; - - - - - - - ;
2000-27FF: - - - 1
Also: map usages for all charsets: Samples
<https://java-nio-charset-enhanced.dev.java.net/servlets/ProjectDocumentList?expandFolder=9507&folderID=9509>.
Run the MapCalculator.java
<https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/milestone1/test/sun/nio/cs/MapCalculator.java?rev=&view=markup>.
Please note my project: https://java-nio-charset-enhanced.dev.java.net/
-Ulf
*
*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/core-libs-dev/attachments/20080708/25e2be0d/attachment.html>
More information about the core-libs-dev
mailing list