harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Salikh Zakirov <Salikh.Zaki...@Intel.com>
Subject Re: [drlvm] class unloading: vtable marks benchmarking
Date Fri, 24 Nov 2006 12:45:09 GMT
Egor Pasko wrote:
> As I remember discussions.. a number unconditional writes may show a
> different picture on multiprocessor machines because of massive cache
> invalidations between processors. Is it easy to get similar statistics
> for multiprocessor machines?

It will require using parallel GC (gc_gen) and a multiprocessor.
it will take a while to read and understand gc_gen code.

Robin Garner wrote:
> Actually I think the results show that the vtable marks are in the
> noise.  hsqldb is a highly multithreaded benchmark, and so prone to
> timing discrepancies.  What was the variability of the results ?  A
> single-threaded benchmark like bloat, antlr or pmd might give less
> variation.

Thanks for the advice, I will try bloat. hsqldb was chosen randomly
as a "known running on DRLVM" benchmark.

Variation is indeed great, and far exceeds the difference between the runs.
I've also tried to choose the lowest time across 5 runs, and the results
were very similar: slowdown of the order of 1%.

> The other interesting point is the side data structure, something like
> MARK_BYTES=size_of_vtable_space << log_min_vtable_align;
> byte[MARK_BYTES] mark_bytes;
> mark_bytes[((int)vtable)<<(min_vtable_align)] = 1;

I will try this techniques too.

View raw message