On Tuesday 07 April 2009 16:26:42 j16sdiz at freenetproject.org wrote:
> Author: j16sdiz
> Date: 2009-04-07 15:26:41 +0000 (Tue, 07 Apr 2009)
> New Revision: 26609
> 
> Modified:
>    trunk/freenet/src/freenet/crypt/Yarrow.java
> Log:
> Use int[] instead of Integer, save autoboxing and put()
> 
> Modified: trunk/freenet/src/freenet/crypt/Yarrow.java
> ===================================================================
> --- trunk/freenet/src/freenet/crypt/Yarrow.java       2009-04-07 15:06:39 UTC 
> (rev 
26608)
> +++ trunk/freenet/src/freenet/crypt/Yarrow.java       2009-04-07 15:26:41 UTC 
> (rev 
26609)
> @@ -444,12 +444,12 @@
>       private MessageDigest fast_pool,  slow_pool;
>       private int fast_entropy,  slow_entropy;
>       private boolean fast_select;
> -     private Map<EntropySource, Integer> entropySeen;
> +     private Map<EntropySource, int[]> entropySeen;
>  
>       private void accumulator_init(String digest) throws 
NoSuchAlgorithmException {
>               fast_pool = MessageDigest.getInstance(digest);
>               slow_pool = MessageDigest.getInstance(digest);
> -             entropySeen = new HashMap<EntropySource, Integer>();
> +             entropySeen = new HashMap<EntropySource, int[]>();
>       }
>  
>       @Override
> @@ -515,21 +515,21 @@
>                               slow_entropy += actualEntropy;
>  
>                               if(source != null) {
> -                                     Integer contributedEntropy = 
> entropySeen.get(source);
> -                                     if(contributedEntropy == null)
> -                                             contributedEntropy = 
> Integer.valueOf(actualEntropy);
> -                                     else
> -                                             contributedEntropy = 
> Integer.valueOf(actualEntropy + 
contributedEntropy.intValue());
> -                                     entropySeen.put(source, 
> contributedEntropy);
> +                                     int[] contributedEntropy = 
> entropySeen.get(source);
> +                                     if(contributedEntropy == null) {
> +                                             contributedEntropy = new int[] 
> { actualEntropy };
> +                                             entropySeen.put(source, 
> contributedEntropy);
> +                                     } else
> +                                             contributedEntropy[0]++;

Wrong. 
contributedEntropy[0] += actualEntropy;
Please do not make mistakes in crypt/!
Otherwise it's a neat optimisation, although using a MutableInt would be 
cleaner.
>  
>                                       if(slow_entropy >= (SLOW_THRESHOLD * 
> 2)) {
>                                               int kc = 0;
> -                                             for(Map.Entry<EntropySource, 
> Integer> e : entropySeen.entrySet()) {
> +                                             for(Map.Entry<EntropySource, 
> int[]> e : entropySeen.entrySet()) {
>                                                       EntropySource key = 
> e.getKey();
> -                                                     Integer v = 
> e.getValue();
> +                                                     int[] v = e.getValue();
>                                                       if(DEBUG)
>                                                               
> Logger.normal(this, "Key: <" + key + "> " + v);
> -                                                     if(v.intValue() > 
> SLOW_THRESHOLD) {
> +                                                     if(v[0] > 
> SLOW_THRESHOLD) {
>                                                               kc++;
>                                                               if(kc >= 
> SLOW_K) {
>                                                                       
> slow_pool_reseed();
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 835 bytes
Desc: This is a digitally signed message part.
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20090407/5b0efece/attachment.pgp>

Reply via email to