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]