Author: orbiter
Date: 2008-02-23 00:46:27 +0100 (Sat, 23 Feb 2008)
New Revision: 4502

Modified:
   trunk/source/de/anomic/kelondro/kelondroEcoTable.java
Log:
stronger criteria to use RAM copy to use table copy
(should use less RAM)

Modified: trunk/source/de/anomic/kelondro/kelondroEcoTable.java
===================================================================
--- trunk/source/de/anomic/kelondro/kelondroEcoTable.java       2008-02-21 
23:40:38 UTC (rev 4501)
+++ trunk/source/de/anomic/kelondro/kelondroEcoTable.java       2008-02-22 
23:46:27 UTC (rev 4502)
@@ -59,7 +59,7 @@
     public static final int tailCacheForceUsage = 1;
     public static final int tailCacheUsageAuto  = 2;
     
-    public static final long maxarraylength = 134217727; // that may be the 
maxmimum size of array length in some JVMs
+    public static final long maxarraylength = 134217727L; // that may be the 
maxmimum size of array length in some JVMs
     
     private kelondroRowSet table;
     private kelondroBytesIntMap index;
@@ -97,7 +97,7 @@
         
             // initialize index and copy table
             int  records = (int) Math.max(file.size(), initialSpace);
-            long neededRAM4table = records * (rowdef.objectsize + 4) * 3 / 2;
+            long neededRAM4table = ((long) records) * (((long) 
rowdef.objectsize) + 4L) * 3L;
             table = ((neededRAM4table < maxarraylength) &&
                      ((useTailCache == tailCacheForceUsage) ||
                       ((useTailCache == tailCacheUsageAuto) && 
(Runtime.getRuntime().freeMemory() > neededRAM4table + 200 * 1024 * 1024)))) ?

_______________________________________________
YaCy-svn mailing list
YaCy-svn@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/yacy-svn

Antwort per Email an