2009.02.07
Karl Gustafsson
Unit tests
64 bit Linux
32 bit Linux
64 bit Solaris 10
64 bit Windows Vista
32 bit Windows Vista
Unit tests were run as described in the Programmer's guide.
JVM | Results |
Sun JDK 1.5.0_17 (64 bit) | OK (6/6) |
Sun JDK 1.6.0_12 (64 bit) | OK (7/7) |
IBM J9 JVM build 2.3 1.5.0 SR9 (64 bit) | OK (5/6)* |
IBM J9 JVM build 2.4 1.6.0 SR3 (64 bit) | OK (6/7)* |
JVM | Results |
Sun JDK 1.5.0_17 | (6/6) |
Sun JDK 1.6.0_12 | (7/7) |
IBM J9 JVM build 2.3 1.5.0 SR9 | OK (5/6)* |
IBM J9 JVM build 2.4 1.6.0 SR3 | OK (6/7)* |
JVM | Results |
Sun JDK 1.5.0_17 (64 bit) | OK (6/6) |
Sun JDK 1.6.0_12 (64 bit) | OK (7/7) |
JVM | Results |
Sun JDK 1.5.0_17 (64 bit) | OK (6/6) |
Sun JDK 1.6.0_12 (64 bit) | OK (7/7) |
JVM | Results |
Sun JDK 1.5.0_17 | OK (6/6) |
Sun JDK 1.6.0_11 | OK (7/7) |
Performance tests were run as documented below on the files from the Linux kernel, version 2.6.28.3. Each test is run five times, and the average time is calculated. At4J's times are compared with the time it takes to complete the same operation using a command-line tool.
The tests were run on a quad-core machine running XUbuntu 8.10. A lot of other programs were running simultaneously, so the measurements given are by no means optimal times.
The following environment variables were set:
$JAVA_HOME
– pointed to a 64 bit JDK 1.6.0_12 installation.$CLASSPATH
– a class path including all Jar files in the
At4J distribution's lib
directory.gzip compress a Tar archive containing the source code for the Linux kernel. The uncompressed size of the archive is 310292480 bytes.
Command lines:
gzip
command:$ time gzip linux-2.6.28.3.tar
$ time $JAVA_HOME/bin/java -cp $CLASSPATH dr.org.at4j.comp.gzip.prog.GZip linux-2.6.28.3.tar
Command | Resulting file size | Average time | Compared with native |
gzip | 67403810 bytes | 13.9s | - |
org.at4j.comp.gzip.prog.GZip | 67382120 bytes | 17.2s | 124% |
Uncompress a gzip compressed Tar archive containing the source code for the Linux kernel.
Command lines:
gunzip
command:
$ time gunzip linux-2.6.28.3.tar.gz
$ time $JAVA_HOME/bin/java -cp $CLASSPATH dr.org.at4j.comp.gzip.prog.GUnzip linux-2.6.28.3.tar.gz
Command | Average time | Compared with native |
gunzip | 2.5s | - |
org.at4j.comp.gzip.prog.GUnzip | 3.1s | 124% |
bzip2 compress a Tar archive containing the source code for the Linux kernel. The uncompressed size of the archive is 310292480 bytes.
Command lines:
bzip2
command:$ time bzip2 linux-2.6.28.3.tar
$ time $JAVA_HOME/bin/java -cp $CLASSPATH dr.org.at4j.comp.bzip2.prog.BZip2 linux-2.6.28.3.tar
Command | Resulting file size | Average time | Compared with native |
bzip2 | 52703558 bytes | 39.6s | - |
org.at4j.comp.bzip2.prog.BZip2 | 52726525 bytes | 69.3s | 175% |
Uncompress a bzip2 compressed Tar archive containing the source code for the Linux kernel.
Command lines:
bunzip2
command:
$ time bunzip2 linux-2.6.28.3.tar.bz2
$ time $JAVA_HOME/bin/java -cp $CLASSPATH dr.org.at4j.comp.bzip2.prog.BUnzip2 linux-2.6.28.3.tar.bz2
Command | Average time | Compared with native |
bunzip2 | 9.3s | - |
org.at4j.comp.bzip2.prog.BUnzip2 | 16.1s | 173% |
LZMA compress a Tar archive containing the source code for the Linux kernel. The uncompressed size of the archive is 310292480 bytes.
Command lines:
lzma
command:$ time lzma linux-2.6.28.3.tar
$ time $JAVA_HOME/bin/java -cp $CLASSPATH dr.org.at4j.comp.lzma.prog.Lzma linux-2.6.28.3.tar
Command | Resulting file size | Average time | Compared with native |
lzma | 45029877 bytes | 201.6s | - |
org.at4j.comp.lzma.prog.Lzma | 46833567 bytes | 235.1s | 117% |
Uncompress a LZMA compressed Tar archive containing the source code for the Linux kernel.
Command lines:
unlzma
command:
$ time unlzma linux-2.6.28.3.tar.lzma
$ time $JAVA_HOME/bin/java -cp $CLASSPATH dr.org.at4j.comp.lzma.prog.UnLzma linux-2.6.28.3.tar.lzma
Command | Average time | Compared with native |
unlzma | 4.8s | - |
org.at4j.comp.lzma.prog.UnLzma | 9.8s | 203% |
Create a Tar archive containing the source code for the Linux kernel.
Command lines:
tar
command:$ time tar cf linux-2.6.28.3.tar linux-2.6.28.3/
$ time $JAVA_HOME/bin/java -cp $CLASSPATH dr.org.at4j.tar.prog.Tar cf linux-2.6.28.3.tar linux-2.6.28.3/
Command | Average time | Compared with native |
tar cf | 5.4s | - |
org.at4j.tar.prog.Tar cf | 6.3s | 117% |
Unpack a Tar archive containing the source code for the Linux kernel.
Command lines:
tar
command:
$ time tar xf linux-2.6.28.3.tar
$ time $JAVA_HOME/bin/java -cp $CLASSPATH dr.org.at4j.tar.prog.Tar xf linux-2.6.28.3.tar
Command | Average time | Compared with native |
tar xf | 50.9s | - |
org.at4j.tar.prog.Tar xf | 60.2s | 118% |
Create a Zip archive containing the source code for the Linux kernel.
Command lines:
zip
command:$ time zip -q -r linux-2.6.28.3.zip linux-2.6.28.3/
$ time $JAVA_HOME/bin/java -cp $CLASSPATH dr.org.at4j.zip.prog.Zip -r linux-2.6.28.3.zip linux-2.6.28.3/
Command | Resulting file size | Average time | Compared with native |
zip | 83876474 bytes | 17.4s | - |
org.at4j.zip.prog.Zip | 83005276 bytes | 28.1s | 161% |
Unpack a Zip archive containing the source code for the Linux kernel.
Command lines:
unzip
command:
$ time unzip -q linux-2.6.28.3.zip
$ time $JAVA_HOME/bin/java -cp $CLASSPATH dr.org.at4j.zip.prog.Unzip -q linux-2.6.28.3.zip
Command | Average time | Compared with native |
unzip | 48.4s | - |
org.at4j.zip.prog.Unzip | 75.1s | 155% |