yacy_search_server/source/net/yacy/kelondro/util
Michael Peter Christen 2fc8ecee36 ConcurrentLinkedQueue has a VERY long return time on the .size() method.
See
http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ConcurrentLinkedQueue.html

and the following test programm:

public class QueueLengthTimeTest {


    public static long countTest(Queue<Integer> q, int c) {
        long t = System.currentTimeMillis();
        for (int i = 0; i < c; i++) {
            q.add(q.size());
        }
        return System.currentTimeMillis() - t;
    }

    public static void main(String[] args) {
        int c = 1;
        for (int i = 0; i < 100; i++) {
            Runtime.getRuntime().gc();
            long t1 = countTest(new ArrayBlockingQueue<Integer>(c), c);
            Runtime.getRuntime().gc();
            long t2 = countTest(new LinkedBlockingQueue<Integer>(), c);
            Runtime.getRuntime().gc();
            long t3 = countTest(new ConcurrentLinkedQueue<Integer>(),
c);

            System.out.println("count = " + c + ": ArrayBlockingQueue =
" + t1 + ", LinkedBlockingQueue = " + t2 + ", ConcurrentLinkedQueue = "
+ t3);
            c = c * 2;
        }
    }
}
2012-02-27 00:42:32 +01:00
..
BDecoder.java early freeing resources on deleting index reference if search-verification fails (aka Switchboard.cleanupJob) 2011-08-02 15:52:33 +00:00
BEncoder.java *) set SVN properties 2011-03-08 01:51:51 +00:00
ByteArray.java !Important: move from Hashtable to HashMap 2012-01-09 01:29:18 +01:00
ByteBuffer.java performance hack 2012-02-02 06:43:15 +01:00
CompressedHashMap.java *) set SVN properties 2011-03-08 01:51:51 +00:00
ConsoleInterface.java *) set SVN properties 2011-03-08 01:51:51 +00:00
EventTracker.java ConcurrentLinkedQueue has a VERY long return time on the .size() method. 2012-02-27 00:42:32 +01:00
FileUtils.java protection against strange answers from remote peers during search 2012-02-25 14:07:02 +01:00
Formatter.java *) set SVN properties 2011-03-08 01:51:51 +00:00
GenerationMemoryStrategy.java correct 'avaiable()' to use max of young / eden 2012-01-16 16:59:58 +01:00
ISO639.java Fixed a lot CHMOD rights (no need for execute flag on *.java/*.html) and introduced local/remote crawl size ratio based check 2011-12-29 00:33:16 +01:00
kelondroException.java *) set SVN properties 2011-03-08 01:51:51 +00:00
LookAheadIterator.java fix for: 2011-07-03 20:44:33 +00:00
MapTools.java performance hacks for seed generation (because thread dumps showed multiple occurrences at these code points) 2011-08-03 18:32:11 +00:00
MemoryControl.java respect non-reserved Memory in GenerationMemoryStrategy 2012-01-16 01:46:12 +01:00
MemoryStrategy.java Generation Memory Strategy fine tuning: 2011-08-25 22:32:15 +00:00
MemoryTracker.java enhanced search event logging (to be used for further improvements) 2010-09-13 09:33:04 +00:00
NamePrefixThreadFactory.java *) set SVN properties 2011-03-08 01:51:51 +00:00
ObjectSpace.java *) set SVN properties 2011-03-08 01:51:51 +00:00
OS.java !Important: move from Hashtable to HashMap 2012-01-09 01:29:18 +01:00
ReverseMapIterator.java *) set SVN properties 2011-03-08 01:51:51 +00:00
SetTools.java changed storage of search words: keep order 2012-02-01 18:13:31 +01:00
StandardMemoryStrategy.java Implementation of strategies for controlling memory resources. 2011-08-22 17:50:03 +00:00
XMLTables.java *) set SVN properties 2011-03-08 01:51:51 +00:00