Oops, the link is:
https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/all-in-charsets/test/sun/nio/cs/ext/EUC_TWBenchmark.java

The "way" you can see here (the trick is in the CoderResult escape methods):
https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/all-in-charsets/src/sun/nio/cs/FastCharset.java?rev=&view=markup

There is no price of "double-byte" coding for "ascii" performance. :-)

Now I'm working on: http://bugs.sun.com/bugdatabase/addVote.do?bug_id=6873330

-Ulf

Am 20.08.2009 17:21, Xueming Shen schrieb:
Ulf,

My apology that I have not looked into your recent proposals (I did quickly scan the change) as I should have to, mostly because I shifted myself out of charsets for some other stuff the last couple weeks/month...I will get back to it to finish some my leftover and pick up your stuff after I finish the
zlib123 upgrade, hopefully soon.

The link below does not seem work...and can you detail th "way" you found (from the name the link is the benchmark). Does the "ascii benefit" come with the cost of "non-ascii" decoding? I'm asking because in case of double-byte charset, you don't want to pay a price of "double-byte" coding for "ascii" performance, but other way around. the performance of "double-byte" is
more important.

sherman

Ulf Zibis wrote:
Hi Sherman, Martin and all,

I have found a way, how to speed-up charset decoders in a general way. In case of EUC-TW it does speed-up to 100 % (on ASCII on JDK-7 -server)

Here the output of my benchmark:
(see code: https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/test/sun/nio/cs/ext/EUC_TWBenchmark.java)

java.version : 1.7.0-ea
java.vm.version : 16.0-b07
time to instantiate EUC_TW_xueming: 8716 µs
time to instantiate EUC_TW_int: 4802 µs
time to instantiate EUC_TW: 2819 µs
time to instantiate EUC_TW_ASCII_inl: 4806 µs
time to init decoder EUC_TW_xueming: 5873 µs
time to init encoder EUC_TW_xueming: 33726 µs
time to init decoder EUC_TW_int: 6618 µs
time to init encoder EUC_TW_int: 25075 µs
time to init decoder EUC_TW: 5404 µs
time to init encoder EUC_TW: 21776 µs
time to init decoder EUC_TW_ASCII_inl: 7827 µs
time to init encoder EUC_TW_ASCII_inl: 24514 µs
time to instantiate TestEUC_TW: 3075 µs
time for warm up 1: 608 ms
time for warm up 2: 470 ms
time for warm up 3: 496 ms
time for warm up 4: 487 ms
time for       EUC_TW_xueming ASCII decode: 505 ms
time for           EUC_TW_int ASCII decode: 282 ms
time for               EUC_TW ASCII decode: 255 ms
time for     EUC_TW_ASCII_inl ASCII decode: 303 ms
time for       EUC_TW_xueming Plane0 decode: 687 ms
time for           EUC_TW_int Plane0 decode: 623 ms
time for               EUC_TW Plane0 decode: 632 ms
time for     EUC_TW_ASCII_inl Plane0 decode: 621 ms
last warm up ./. test loops: 1.2456994

-Ulf





Reply via email to