Thought you may find these results interesting, just killed some more latent concurrency bugs in JERI.

   * Mahalo stress tests are now running with 0% contention at close to
     raw socket speed.
   * ClassLoading is thread confined for each classloader to avoid
     contention.
   * All underlying infrastructure takes advantage of modern Executors
     and concurrency utils.
   * TaskManager has been replaced and is no longer needed.
   * There are no unnecessary DNS calls, only those required to make
     connections.
   * Security checks have an imperceptible impact on performance.
   * RFC3986 compliant Uri class uses bitshift operations for ASCII
     string manipulation.

I need someone with access to decent hardware to really test this out.


Hot Spots - Method      Self time [%]   Self time       Self time (CPU)         
Samples
java.net.ServerSocket.accept()  59.933640       161513.736 ms   161513.736 ms   
6
java.net.DatagramSocket.receive()       29.966820       80756.868 ms    
80756.868 ms    3
java.io.ObjectInputStream.defaultReadObject() 2.706319 7293.194 ms 7293.194 ms 134
java.lang.Class.forName()       2.082170        5611.19 ms      5611.19 ms      
9
com.sun.jini.start.AggregatePolicyProvider.getContext() 0.925748 2602.776 ms 2494.776 ms 7 java.util.concurrent.FutureTask.get() 0.911941 182311.234 ms 2457.569 ms 271
java.lang.ClassLoader.loadClass()       0.732275        1973.389 ms     
1973.389 ms     7
java.util.Collections$UnmodifiableCollection.isEmpty() 0.516405 1391.647 ms 1391.647 ms 1 com.sun.jini.jeri.internal.mux.Session$MuxInputStream.read() 0.516405 182643.391 ms 1391.647 ms 246 java.io.ObjectOutputStream.writeObject() 0.481305 2885.993 ms 1297.057 ms 76 java.lang.System.identityHashCode[native]() 0.459557 1238.449 ms 1238.449 ms 1 java.lang.SecurityManager.checkConnect() 0.115316 310.762 ms 310.762 ms 3
java.lang.Long.toHexString()    0.110310        297.271 ms      297.271 ms      
1
java.io.ObjectOutputStream.defaultWriteObject() 0.095964 38327.99 ms 258.61 ms 71 com.sun.jini.jeri.internal.runtime.Util.unmarshalValue() 0.091908 247.68 ms 247.68 ms 133 au.net.zeus.collection.AbstractReferenceComparator.compare() 0.079535 214.336 ms 214.336 ms 2 java.lang.reflect.Proxy.getInvocationHandler() 0.071852 193.631 ms 193.631 ms 1 com.sun.jini.jeri.internal.runtime.Util.marshalValue() 0.058676 1049.831 ms 158.124 ms 78 java.util.concurrent.AbstractExecutorService.submit() 0.040076 108.0 ms 108.0 ms 1
java.io.ObjectInputStream.<init>()        0.022718        61.223 ms       
61.223 ms       1
com.sun.jini.start.ActivateWrapper$ExportClassLoader.toString() 0.022597 60.895 ms 60.895 ms 2 java.security.AccessController.doPrivileged[native]() 0.022204 59.837 ms 59.837 ms 340
java.lang.reflect.Method.invoke()       0.020569        31369.303 ms    55.431 
ms       244
org.apache.river.api.net.RFC3986URLClassLoader$5.run() 0.015687 42.274 ms 42.274 ms 2 com.sun.jini.jeri.internal.runtime.Target.dispatch() 0 0.0 ms 0.0 ms 474


Reply via email to