Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4763450
Votes 86
Synopsis Socket microbenchmark slower on 1.3, 1.4, 1.4.1 than on 1.2.2_09
Category hotspot:runtime_system
Reported Against 1.3
Release Fixed 1.5(tiger-beta)
State 10-Fix Delivered, bug
Priority: 2-High
Related Bugs 4900623
Submit Date 15-OCT-2002
Description
Customer has a socket microbenchmark that is slower on all JVMs after 1.2.2_09.
Results:
1.3   is 43% slower on socket microbenchmark w/client
1.3   is 28% slower on socket microbenchmark w/client & LWP Sync
1.4   is 30% slower on socket microbenchmark w/client & server
1.4.1 is 16% slower on socket microbenchmark w/client & server

Volano ranges from 35% slower to 13% slower.  

Part of the problem in 1.4 was fixed in 1.4.1b07 (setjmp in the INTERRUPT_IO
macro) but there is still a 16% regression from 1.2.2_09.
Work Around
N/A
Evaluation
See comments.
  xxxxx@xxxxx   2002-10-22

As Alan mentioned in his comments, the _current performance
impediment (after the setjmp problem in interruptible IO was fixed) is 
purely related to synchronization.  It has nothing to do with socket IO.
The test case,  SocketPerformanceTest.java, implements a consensus barrier
with java monitors.  This results in high levels of contention.  EVM is able
to achieve higher throughput over contended monitors than is HS.  
I've attached a small microbenchmark, IBar.java, which models the problem seen
in SocketPerformanceTest.java.  

Possible solutions: 
1. use contention reduction techniques in the application
2. use metalocks or relaxed-locks in HS

  xxxxx@xxxxx   2002-10-29

This problem (regression in 1.4X relative to 1.2.2) has largely been fixed by the objectMonitor_solaris and objectMonitor_inux changes in 1.5.0.  Contended synchronization performance is now much closer to that of ExactVM.  Note that the objectMonitor fixes are currently specific to linux and Solaris.  That is, the fix has not been applied to the win32/win64 varaint of objectMonitor.  It's likely we'll apply the equivalent fixe to win32/win64 in 1.5.1 or 1.6, and see if they improve performance on that platform as well.  

  xxxxx@xxxxx   2004-01-14
Comments
  
  Include a link with my name & email   

Submitted On 17-OCT-2002
mbisho
I can't use the new, good stuff until this is fixed!


Submitted On 17-OCT-2002
sedghi
FIX IT =)


Submitted On 25-DEC-2003
alesak@alesak.net
please fix it asap



PLEASE NOTE: JDK6 is formerly known as Project Mustang