fedvasu
fedvasu

Reputation: 1252

java implementations?

i've been looking at shoootout alioth benchmarks http://shootout.alioth.debian.org/, there is mention of two different "java"'s what is the difference between them?

(java xint and java server)

i know a little bit of java (learned in a summer class .. just basics)

just curious about this ..

thanx in advance ..

Upvotes: 0

Views: 1117

Answers (2)

Stephen C
Stephen C

Reputation: 718708

The "xint" and "server" variants are just different command-line options for the Java Hotspot virtual machine.

  • The "-xint" option tells HotSpot to disable native code compilation, and use the bytecode interpreter to execute all code. You don't do this with production code. In this case, the benchmarks are (I guess) aiming to show what happens when you try to minimize startup times.

  • The "-server" option selects HotSpot settings that are tuned for long running applications. Compared with "-client", it takes longer for the HotSpot to decide to JIT compile a particular method ... but the JIT compiler can then do a better job of optimizing. (The net result is slower startup, but better long-term performance.)

    IIRC, the benchmarks are then run a number of times to "warm up" the JVM before the actual timings are measured. The idea is to take startup times out of the equation.

Upvotes: 1

wkl
wkl

Reputation: 79893

There are multiple implementations of Java (see OpenJDK, Apache Harmony, Jikes, etc. etc.), but what you're talking about: java server and java xint are not separate Java versions. -Xint and -server are two different command line arguments you can pass to the java runtime.

Here's -Xint

-Xint

Operate in interpreted-only mode. Compilation to native code is disabled, and all bytecodes are executed by the interpreter. The performance benefits offered by the Java HotSpot Client VM's adaptive compiler will not be present in this mode.

Here' -server argument:

-server

Select the Java HotSpot Server VM. On a 64-bit capable jdk only the Java HotSpot Server VM is supported so the -server option is implicit. This is subject to change in a future release.

For default VM selection, see Server-Class Machine Detection

Upvotes: 4

Related Questions