Javolution 3.0 real time framework released

Discussions

News: Javolution 3.0 real time framework released

  1. Javolution 3.0 real time framework released (7 messages)

    Javolution 3.0 is an open source real time development library that allows your objects to be preallocated at start-up and transparently recycled during execution. No dynamic object creation, less heap memory useage, and no garbage collection (ever) result in a significant increase in application performance and responsiveness.

    Also, noteworthy in the new version:
    - Text concatenation/insertion/deletion in O(Log(n)) instead of O(n) for standard String/StringBuffer.
    - FastMap, a map whose capacity increases smoothly with no resize/rehash ever.
    - Enhanced Struct/Union classes for easier interoperability with C/C++ struct/union.

    Javolution runs on all Java platforms (from CLDC 1.0 to J2EE 1.5) or natively when compiled with GCJ (Gnu Compiler for Java).

    Threaded Messages (7)

  2. Memory Pools[ Go to top ]

    I haven't used this, nor am I sure I will. However, I do find it very interesting. There are applications where the overhead/unpredictablilty of garbage collection is a nuisance.

    I wrote up some thoughts about memory pools a while back.

    Web applications and web services could possible make good use of this as it would be fairly easy to determine when to release all of the memory in a pool; for example at the end of the doGet() method.
  3. ...allows your objects to be preallocated at start-up and transparently recycled during execution. No dynamic object creation, less heap memory useage, and no garbage collection (ever) result in a significant increase in application performance and responsiveness.

    Generational scavenging has all of the benefits listed above. So doesn't generational scavenging obviate preallocation?
  4. I agree with Brian, this used to be a big deal but on the latest JDKs, it's not so much as a win as it used to be. We're not doing it so much now in the application servers.

    which is not to say, it's not needed, I'm sure there are still applications where it's required but it's a rare app these days.

    Combined with NIO, the Struct stuff might be interesting for fast network comms, knocking serialization out of the picture.

    Billy
  5. Combined with NIO, the Struct stuff might be interesting for fast network comms, knocking serialization out of the picture.

    Elsewhere I mentioned that if Fast Infoset were memory mapped, then SOAP might need less bandwidth than either IIOP or JRMP, yet be just as fast on the CPU while marshalling. With NIO, I think Fast Infoset might make legacy binary protocols obsolete.
  6. Stack[ Go to top ]

    From the website
    "Objects can be preallocated or allocated on the stack"!!!

    How do you do that? JVM hook?
  7. Stack[ Go to top ]

    From the website"Objects can be preallocated or allocated on the stack"!!!How do you do that?

    The compiler could generate a local variable for each of the object's fields. But then how would its equals() method work?
  8. Stack allocation[ Go to top ]

    I may be wrong, but my quick investigation leads me to the
    idea that this stack allocation is just based on java.lang.ThreadLocal holding object pool references.

    Anyway Javalution seems to be VERY nice and interesting
    library to look at.