db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Knut Anders Hatlen <Knut.Hat...@Sun.COM>
Subject Re: ArrayInputStream and performance
Date Tue, 05 Dec 2006 14:56:08 GMT
Mike Matrigali <mikem_app@sbcglobal.net> writes:

> A discussion on the list would be great.  Can anyone post a complete
> test run with exact description of test, and flat and hierarchical
> results performance monitor reports.  It is interesting if info has
> both number of calls and time.
> I was starting to look at:
> http://wiki.apache.org/db-derby/Derby1961MethodCalls
>     I find it really useful to start looking top down at number of
>     operations per test rather than bottom up.  So for instance,
>     some things jumped out:
> o derby.iapi.services.io.ArrayInputStream.setPosition     58.4240
>     At first I was expecting this to be something like 1 per row + 1
> per column.  I assume it got big through btree search - hierarchical
> data would show.  It might be interesting to know btree overhead
> vs. heap overhead.  maybe btree compare can be optimized?

I have attached new files to the wiki page which show the frequency of
each caller-callee pair. Seems like your assumption was correct, that
most of the calls to setPosition() came from searching the B-tree.

All of the calls to setPosition() came (indirectly) from
BasePage.fetchFromSlot(). Of the 20.7 calls to fetchFromSlot(),

  16 came from ControlRow.CompareIndexRowFromPageToKey
  1.7 came from BranchControlRow.getChildPageAtSlot
  1 came from B2IRowLocking3.lockRowOnPage
  1 came from BTreeForwardScan.fetchRows
  1 came from GenericConglomerateController.fetch

All but the last method are B-tree related, right?

There are three levels in the B-tree in this test.

Knut Anders

View raw message