This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Hash synchronization patch


"Boehm, Hans" wrote:
> Here's my current version of the hash synchronization patch.  It passes my
> (pretty basic) tests on Linux/X86.  It is against a recent tree, so it
> should hopefully apply to the current CVS tree.

I evaluated this patch on some of our application code.  I was able to complete
the tests, with a nearly 50% performance improvement overall running on a
uniprocessor (results are number of HTTP transactions per second, concurrency is
the number of simultaneous threads):

                 standard         hash sync

Concurrency | Requests / sec. | Requests / sec.
------------+-----------------+------------------
     1      |      10.1       |      14.7  (+46%)
     2      |      10.2       |      15.2  (+49%)
     4      |       9.7       |      14.4  (+48%)

Heap usage was also slightly lower, and GC intervals around %30 shorter than
before.

However the application was not stable.  On roughly 50% of my attempts the
program deadlocked on startup with a java.lang.IllegalMonitorStateException.  It
was also prone to deadlock if any threads were running during a System.gc(). 
Here's one interesting message I haven't seen before:

Finalization cycle involving 89b14d0
Finalization cycle involving 81013c0
Finalization cycle involving 8101440
Finalization cycle involving 808af50

--
Jeff Sturm
jeff.sturm@commerceone.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]