J.A.D.E.

J.A.D.E.
JavaTM Addition to Default Environment.

      Just as the constant increase of entropy is the basic law of the universe,
      so it is the basic law of life to be ever more highly structured and to
      struggle against entropy!                    Václav Havel


  Here you will find the most comprehensive package for "serious" JavaTM applications:


This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License (LGPL).

JADE Version 4.6.7

Browse     Source     Library    

Runtime Environment: J2SE 1.4+

Compilers: JavaTM, JikesTM or GNU Compiler for Java (GCJ)

Build tool: Apache Ant

Collaborative Tool: java.net (code development, comments, issues, bug reporting).

Benchmark

The JADE library is highly optimized for speed. It also provides real-time classes to accelerate code execution by avoiding or postponing memory allocation and garbage collection.

As shown below, gain can be of several orders of magnitude.

"Performs 100 successive concatenations of this string."

HotSpot 1.4.1
(java -jar jade.jar perf)

GCJ 3.2
(jade.exe perf)

String (immutable)

4.10 ms

13.89 ms

StringBuffer (mutable)

0.31 ms

0.96 ms

StringRT in heap context (immutable)

0.31 ms

1.02 ms

StringRT in pool context (mutable)

0.12 ms

0.13 ms

Below the benchmark results on Windows 2000, Compaq at 2.26GHz:


D:\jade-4.6>java -jar jade.jar perf

Java(TM) Addition to Default Environment (http://jade.dautelle.com/)
Version 4.6.6 June 25 2003

Benchmark...

Initialization: 0.17 s

JVM Heap allocation versus Pool-Context
java.lang.Double (8 bytes) Heap Creation: 42 ns
char[128] Heap Creation: 650 ns
char[256] Heap Creation: 1263 ns
com.dautelle.math.Real (8 bytes) Pool-Context Creation: 33 ns
char[128] Pool-Context Creation: 56 ns
char[256] Pool-Context Creation: 61 ns

Mathematical operations:
com.dautelle.math.Real add: 37 ns
com.dautelle.math.Complex add: 56 ns
com.dautelle.physics.Quantity add: 97 ns
com.dautelle.math.Real multiply: 39 ns
com.dautelle.math.Complex multiply: 64 ns
com.dautelle.physics.Quantity multiply: 122 ns

StringRT versus String/StringBuffer:
"Performs 100 successive concatenations of this string."
java.lang.String Concatenation: 1.497 ms
java.lang.StringBuffer Concatenation: 0.106 ms
com.dautelle.realtime.StringRT Concatenation(Heap-Context): 0.113 ms
com.dautelle.realtime.StringRT Concatenation(Pool-Context): 0.031 ms

XML Parsing
org.apache.crimson.parser.XMLReaderImpl (Sax2 Parser): 2922
com.dautelle.xml.sax.RealtimeParser: 594
com.dautelle.xml.sax.XmlReaderImpl (Sax2 Wrapper of RealtimeParser): 984

More performance analysis in future versions...

History



Comments To: Jean-Marie Dautelle
Revision: July 6, 2003
JavaTM is a trademark of Sun Microsystems, Inc
Copyright© 2003 The Dautelle Family