[Pki-devel] [PATCH] 4 Replaced byte-to-char & char-to-byte converters.

Nathan Kinder nkinder at redhat.com
Sat Jan 7 00:21:11 UTC 2012


On 01/06/2012 04:11 PM, Endi Sukma Dewata wrote:
> On 1/5/2012 3:00 PM, Endi Sukma Dewata wrote:
>> About the performance, I compared the results of #9 before and after
>> conversion to Charset, there are some differences but I don't think the
>> difference is significant.
>
> To clarify, in patch #9 I wrote simple tests for measuring the 
> encoding and decoding times for each converter (identified by the tag) 
> to process a set of chars/bytes 10k times.
>
>   for (int i=0; i<10000; i++) encode(tag, chars);
>
>   for (int i=0; i<10000; i++) decode(tag, bytes);
>
> Each test is done twice, one using Mozilla JSS library and another 
> using our internal library which is based on sun.io before the upgrade 
> and java.nio (Charset) after the upgrade.
>
> Below is the result. The 2 numbers in each category correspond to the 
> execution times before and after the upgrade.
>
> BMP String Encoding time:
>  - JSS     : 210 ms   212 ms
>  - Internal: 281 ms   319 ms
> BMP String Decoding time:
>  - JSS     : 186 ms   196 ms
>  - Internal: 212 ms   149 ms
> IA5 String Encoding time:
>  - JSS     : 42 ms    101 ms
>  - Internal: 46 ms    110 ms
> IA5 String Decoding time:
>  - JSS     : 93 ms    118 ms
>  - Internal: 84 ms    37 ms
> Printable String Encoding time:
>  - JSS     : 26 ms    113 ms
>  - Internal: 48 ms    86 ms
> Printable String Decoding time:
>  - JSS     : 37 ms    49 ms
>  - Internal: 40 ms    38 ms
> Teletex String Encoding time:
>  - JSS     : 18 ms    36 ms
>  - Internal: 43 ms    103 ms
> Teletex String Decoding time:
>  - JSS     : 16 ms    16 ms
>  - Internal: 23 ms    32 ms
> Universal String Encoding time:
>  - JSS     : 74 ms    71 ms
>  - Internal: 30 ms    49 ms
> Universal String Decoding time:
>  - JSS     : 80 ms    76 ms
>  - Internal: 42 ms    18 ms
> UTF-8 String Encoding time:
>  - JSS     : 13 ms    31 ms
>  - Internal: 28 ms    59 ms
> UTF-8 String Decoding time:
>  - JSS     : 37 ms    51 ms
>  - Internal: 46 ms    52 ms
>
> The JSS tests are supposed to produce similar numbers before and after 
> the upgrade since they are executing the same code, but that's not 
> always the case, see IA5 encoding and printable encoding times. This 
> is probably due to the changing nature of machine load at the time of 
> the execution.
>
> If we look at the internal numbers, some go up and some go down. We 
> cannot really say whether it's an improvement or degradation since the 
> JSS numbers that we use as a baseline aren't always stable. Also since 
> different converter uses different code, there isn't a single number 
> that can describe the overall behavior.
>
> So all I can conclude is that the upgrade to the internal library does 
> not show any significant performance degradation that we should be 
> concerned about at this point. If we want to get real statistical 
> numbers (e.g. % improvement over the old library or JSS) we will have 
> to define the test scope, generate better test data, and execute the 
> tests systematically with varying loads. I'm not sure if we want to do 
> that at this stage.
I agree that the numbers don't show anything that we should be concerned 
with at this point.  If your tests from patch #8 prove encoding/decoding 
correctness, I think we should move forward.  We should file a trac 
ticket for general performance profiling and target it for a future 
milestone (likely a few months from now).

-NGK




More information about the Pki-devel mailing list