Re: How to benchmark memory managers?

"Emery Berger" <[email protected]> Mon, 10 Jan 2005 16:38:27 -0500
Newsgroups gmane.comp.programming.garbage-collection.general
Message-ID <[email protected]>
We might want to take this off-list, but unless I'm misunderstanding the
question, I think the issue is whether the oracular approach is ignoring
the cost of ownership tracking, as in C++ smart pointers.

In fact, we've tested this. We have run experiments where we add a small
number of (non-atomic) instructions to every pointer mutation, thus
simulating the cost of smart pointers (under the reasonable assumption
that since we're accessing the raw pointer, the related data fields hit
in the cache). It turns out that this added overhead does not have much
impact at all.
 
-- emery
 
> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
On
> Behalf Of Matthew Hertz
> Sent: Monday, January 10, 2005 2:21 PM
> To: [email protected]
> Subject: Re: [gclist] How to benchmark memory managers?
> 
> > the cost of free only equals the cost of explicit memory management
if
> > none of the objects ever had shared ownership. Otherwise there is
some
> > mechanism being hidden by the oracle that is not being accounted
for.
> 
> While you are correct that these sharing costs can add substantial
> overheads, the Jikes RVM already performs all of the locking and other
> work needed to support its multi-threaded design.  Because these
> maintained outside of the memory management routines (and were already
> included in both sets of numbers), we did not burden the explicit
memory
> managers with a duplicative analysis to handle sharing of objects.
> 
> Matthew Hertz
> [email protected]