Submitted On 23-JAN-2002
DANGAN
benchmark of my application
http://homepage1.nifty.com/dangan/Content/Program/Java/jLHA/
LhaSpeed.html
(sorry it's in Japanese)
Marlin's HotSpot ClientVM is slowly.
because JIT compiler works at random.
not compile critical method.
according to my experience,
at worst, marlin is 10times as slow as J2SE 1.3.
Submitted On 05-MAR-2002
walter_bruce@hotmail.com
This bug seems to be having a large impact on our double
intensive code. I have noticed that adding a dummy
local int variable can change the timings of our
ray-triangle intersection test by a factor of 2.
Presumably due to altering whether the local double
variables are 8-byte aligned or not. I have also
found that this shift can also occur later in the
execution. Perhaps due to some hotspot dynamic
optimization altering the stack alignment. This makes
it very hard to get repeatable timings when trying to
optimize my program.
Submitted On 11-MAR-2002
walter_bruce@hotmail.com
This bug also existed in JDK1.3 and affects any program
that uses "double" local variables. I've put a simple java
file that demonstrates the problem at:
http://www.graphics.cornell.edu/~bjw/javadouble/
It also seriously hampers attempts at optimizing programs
because the stack alignment side-effects of small code
changes often cause much larger changes in runtime than the
improvement (or degradation) directly caused by the change
in coding.
Submitted On 12-MAR-2002
Swestin
This is not confined to 1.4; 1.3.1 has the same problem. It's impossible to optimize code systematically, because any change can affect alignment, triggering an unrelated increase or decrease in speed.
Submitted On 13-MAR-2002
iillyyaa
Here is another piece of code that exhibits wild difference
in performance of double arithmetics depending on the stack
frame alignment, exccept that it shows several (i.e. more
than two) different levels of performance penalty.
http://www.graphics.cornell.edu/~bjw/javadouble/KriveshkoDoubleTest.html
Thanks to Bruce Walter for hosting the source and the charts
for this example.
Submitted On 13-MAR-2002
chris-thorne
Double precision calculations are very important for geographical/terrain modelling calculations. There are
*many* important applications of this sort so this bug should be given some priority.
chris thorne
Submitted On 15-MAR-2002
Angela_DeHart
The inconsistency with regard to double calculation
performance makes development of complex applications for
commercial use extremely difficult to tune. Basically we
have to tell our end-users it's "flaky". Not exactly a
selling point for J2EE architecture. We've reproduced the
problem in-house with a very simple program that iterates
the same calculation using float, then double. By adding
just one float calculation before the double iteration, we
see as much as a 2-fold increase in the time. And this is
on PIII's with 1.2 Ghz, a far faster system than most of
end-users will have. Basically, we have no way to benchmark
our performance. Please fix this bug.
Submitted On 10-APR-2002
chocksmith
Please fix this bug!!
Submitted On 16-JUL-2002
kenrodd
Can anyone confirm that this has indeed been fixed in
release 1.4.1 (codenamed 'hopper'), as indicated at the top
of this bug report?
I cannot find a mention of it in the 1.4.1 Release Notes :(
Submitted On 21-AUG-2002
kip104
kenrod: It's listed as fixed in 1.4.1 here, just do a search on the page for 4490869:
http://java.sun.com/j2se/1.4.1/fixedbugs/141-beta.html
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|