harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Salikh Zakirov <Salikh.Zaki...@Intel.com>
Subject [drlvm] class unloading: vtable marks benchmarking
Date Thu, 23 Nov 2006 14:57:01 GMT
Hi,

As a result of numerous class unloading discussions, we
I've hacked vtable marking proposals into GC_CC directly, and measured
their impact on the performance. I've attached the two patches
corresponding to "vtable marks" and "indirect marks".

Benchmark: dacapo-2006-10 hsqldb
Machine: IBM Thinkpad T41p, Pentium M 1700 MHz (1 core), 1 Gb
Windows XP SP2, MSVC 7.0, release build
Benchmark arguments:

  java -verbose:gc -jar c:/work/dacapo/dacapo-2006-10.jar -s default -n
3 hsqldb

Benchmarks results:

no vtable marks:	===== DaCapo hsqldb PASSED in 6168 msec =====
vtable marks:		===== DaCapo hsqldb PASSED in 6218 msec =====
(0.8% slowdown)
indirect marks:		===== DaCapo hsqldb PASSED in 6409 msec =====
(3.9% slowdown)

Garbage collection times:
(garbage collection times were collected for the whole dacapo run,
including warmup benchmark runs).

no vtable marks:
COMPACT avg  614.375 +/- 117.537 =  4915.000 / 8, min   50.000, max 911.000
COPY    avg  255.000 +/- 39.325 =  2040.000 / 8, min   90.000, max  490.000
FORCED  avg  189.333 +/- 7.589 =  2840.000 / 15, min  140.000, max  240.000

vtable marks:
COMPACT avg  615.500 +/- 119.544 =  4924.000 / 8, min   40.000, max  931.000
COPY    avg  260.000 +/- 27.839 =  2340.000 / 9, min  160.000, max  460.000
FORCED  avg  186.667 +/- 7.411 =  2800.000 / 15, min  140.000, max  240.000

indirect marks:
COMPACT avg  619.375 +/- 123.104 =  4955.000 / 8, min   30.000, max  941.000
COPY    avg  265.000 +/- 38.868 =  2120.000 / 8, min  110.000, max  500.000
FORCED  avg  194.000 +/- 8.095 =  2910.000 / 15, min  150.000, max  250.000

Resume: as was predicted, adding unconditional write to object scanning
does not have much impact on the garbage collection time. However,
overall impact is visible on benchmark level.

Regarding the false sharing wnen writing vtable marks,
the benchmarking should be run on a multiprocessor machine and with a
parallel GC.

Mime
View raw message