-
Bug
-
Resolution: Cannot Reproduce
-
P2
-
None
-
1.4.1
-
sparc
-
solaris_8
Attached is the multithreaded program I wrote that performs worse under
1.4.1 than 1.3.1. I ran it under Solaris 7 (single and dual processor)
and Solaris 8 (dual processor). Under Solaris 8, I also tried the
default thread library and the alternate thread library. Under none of
these circumstances did 1.4.1 perform better than 1.3.1. I can provide
some timing numbers if that will help, but 1.4.1 was pretty consistently
~20% slower execution in each scenario.
I used the command line flags "-server -Xms20485760 -Xmx20485760" on
each test. No additional tuning was applied to either JVM. It wouldn't
be unreasonable to say that tuning 1.4.1 might result in better numbers
than 1.3.1, but a 20% difference without tuning seems pretty big.
I tested your sample program and got the following results. Are these the
results you are also seeing.
1)
real 4:17.2
user 1:15.1
sys 34.5
152 bharadwaj (Srini) =>java -version
java version "1.3.1_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_06-b01)
Java HotSpot(TM) Client VM (build 1.3.1_06-b01, mixed mode)
2)
real 4:55.8
user 1:34.7
sys 35.5
81 bharadwaj (Srini) =>java -version
java version "1.4.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-b21)
Java HotSpot(TM) Client VM (build 1.4.1-b21, mixed mode)
The difference
in real time indicates that the process is just taking longer to
complete under 1.4.1 than 1.3.1. The difference in user time indicates
that more CPU cycles are being consumed during execution. I'm sure it's
possible to tune either JVM to get better numbers, but we're under the
impression that the default behavior should be better for 1.4.1 than 1.3.1.
1.4.1 than 1.3.1. I ran it under Solaris 7 (single and dual processor)
and Solaris 8 (dual processor). Under Solaris 8, I also tried the
default thread library and the alternate thread library. Under none of
these circumstances did 1.4.1 perform better than 1.3.1. I can provide
some timing numbers if that will help, but 1.4.1 was pretty consistently
~20% slower execution in each scenario.
I used the command line flags "-server -Xms20485760 -Xmx20485760" on
each test. No additional tuning was applied to either JVM. It wouldn't
be unreasonable to say that tuning 1.4.1 might result in better numbers
than 1.3.1, but a 20% difference without tuning seems pretty big.
I tested your sample program and got the following results. Are these the
results you are also seeing.
1)
real 4:17.2
user 1:15.1
sys 34.5
152 bharadwaj (Srini) =>java -version
java version "1.3.1_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_06-b01)
Java HotSpot(TM) Client VM (build 1.3.1_06-b01, mixed mode)
2)
real 4:55.8
user 1:34.7
sys 35.5
81 bharadwaj (Srini) =>java -version
java version "1.4.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-b21)
Java HotSpot(TM) Client VM (build 1.4.1-b21, mixed mode)
The difference
in real time indicates that the process is just taking longer to
complete under 1.4.1 than 1.3.1. The difference in user time indicates
that more CPU cycles are being consumed during execution. I'm sure it's
possible to tune either JVM to get better numbers, but we're under the
impression that the default behavior should be better for 1.4.1 than 1.3.1.