You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by Apache Wiki <wi...@apache.org> on 2006/11/26 18:35:10 UTC

[Db-derby Wiki] Update of "Derby1961MethodCalls" by KnutAndersHatlen

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Db-derby Wiki" for change notification.

The following page has been changed by KnutAndersHatlen:
http://wiki.apache.org/db-derby/Derby1961MethodCalls

New page:
== Method Calls in Derby ==

Method calls per transaction for the tests described in
Derby1961ResourceUsage2. (Derby 10.2.1.6, Sun Java SE 6 (build
1.6.0-rc-b104), Solaris 10.)

The numbers were collected with this DTrace script:

{{{
#!/usr/sbin/dtrace -s
#pragma D option quiet

/* Start java process with -XX:+DTraceMethodProbes */

hotspot$target:::method-entry {
  this->class = (char*) copyin(arg1, arg2 + 1);
  this->class[arg2] = '\0';
  this->method = (char*) copyin(arg3, arg4 + 1);
  this->method[arg4] = '\0';
  @[stringof(this->class), stringof(this->method)] = count();
}
}}}

=== Single-record select ===

This table shows all the methods that are called more than 13 times
per single-record select transaction.

|| '''Method name''' || '''Calls/tx''' ||
|| java.lang.Object.<init> ||<style="text-align: right;"> 87.1469 ||
|| derby.impl.drda.DDMWriter.ensureLength ||<style="text-align: right;"> 62.0897 ||
|| derby.iapi.services.io.!ArrayInputStream.setPosition ||<style="text-align: right;"> 58.4240 ||
|| java.lang.Object.equals ||<style="text-align: right;"> 56.7005 ||
|| java.util.Hashtable.get ||<style="text-align: right;"> 51.0775 ||
|| derby.impl.store.raw.data.!StoredFieldHeader.readStatus ||<style="text-align: right;"> 37.7001 ||
|| derby.impl.store.raw.data.!StoredFieldHeader.readFieldLengthAndSetStreamPosition ||<style="text-align: right;"> 37.7001 ||
|| derby.iapi.services.io.!ArrayInputStream.setLimit ||<style="text-align: right;"> 37.7001 ||
|| derby.iapi.services.io.!ArrayInputStream.clearLimit ||<style="text-align: right;"> 37.7001 ||
|| java.lang.Object.hashCode ||<style="text-align: right;"> 36.9835 ||
|| derby.iapi.types.SQLInteger.typePrecedence ||<style="text-align: right;"> 33.9484 ||
|| derby.impl.drda.DDMWriter.writeBytes ||<style="text-align: right;"> 29.0270 ||
|| derby.impl.drda.DDMReader.ensureA!LayerDataInBuffer ||<style="text-align: right;"> 27.0455 ||
|| derby.iapi.store.raw.!ContainerKey.hashCode ||<style="text-align: right;"> 27.0138 ||
|| java.util.Vector.indexOf ||<style="text-align: right;"> 27.0118 ||
|| derby.impl.jdbc.!EmbedConnection.getTR ||<style="text-align: right;"> 26.0244 ||
|| derby.iapi.services.io.!FormatableBitSet.isSet ||<style="text-align: right;"> 24.9916 ||
|| derby.impl.drda.DDMReader.ensureB!LayerDataInBuffer ||<style="text-align: right;"> 24.0400 ||
|| derby.impl.drda.DDMReader.adjustLengths ||<style="text-align: right;"> 24.0400 ||
|| derby.impl.store.raw.data.!BasePage.getHeaderAtSlot ||<style="text-align: right;"> 22.7255 ||
|| derby.impl.store.raw.data.!BasePage.checkSlotOnPage ||<style="text-align: right;"> 21.7247 ||
|| derby.iapi.store.raw.!ContainerKey.equals ||<style="text-align: right;"> 21.0246 ||
|| derby.impl.store.raw.data.!StoredPage.getRecordOffset ||<style="text-align: right;"> 20.7872 ||
|| derby.impl.store.raw.data.!StoredRecordHeader.size ||<style="text-align: right;"> 20.7239 ||
|| derby.impl.store.raw.data.!StoredRecordHeader.hasOverflow ||<style="text-align: right;"> 20.7239 ||
|| derby.impl.store.raw.data.!StoredPage.restoreRecordFromSlot ||<style="text-align: right;"> 20.7239 ||
|| derby.impl.store.raw.data.!StoredPage.readRecordFromArray ||<style="text-align: right;"> 20.7239 ||
|| derby.impl.store.raw.data.!BasePage.fetchFromSlot ||<style="text-align: right;"> 20.7239 ||
|| derby.iapi.store.raw.!PageKey.hashCode ||<style="text-align: right;"> 20.0049 ||
|| derby.impl.store.raw.data.!StoredRecordHeader.getHandle ||<style="text-align: right;"> 19.7234 ||
|| java.lang.System.arraycopy ||<style="text-align: right;"> 19.0691 ||
|| derby.impl.jdbc.!EmbedResultSetMetaData.getColumnCount ||<style="text-align: right;"> 18.0059 ||
|| derby.impl.store.access.heap.!HeapRowLocation.readExternalFromArray ||<style="text-align: right;"> 17.9759 ||
|| derby.iapi.services.io.!ArrayInputStream.readCompressedLong ||<style="text-align: right;"> 17.9759 ||
|| derby.iapi.services.io.!ArrayInputStream.readCompressedInt ||<style="text-align: right;"> 17.9759 ||
|| derby.iapi.types.SQLInteger.typeCompare ||<style="text-align: right;"> 16.9742 ||
|| derby.iapi.types.SQLInteger.readExternalFromArray ||<style="text-align: right;"> 16.9742 ||
|| derby.iapi.types.!NumberDataType.compare ||<style="text-align: right;"> 16.9742 ||
|| derby.iapi.services.io.!ArrayInputStream.readInt ||<style="text-align: right;"> 16.9742 ||
|| java.util.!LinkedList.entry ||<style="text-align: right;"> 16.0777 ||
|| derby.impl.drda.DDMReader.readCodePoint ||<style="text-align: right;"> 16.0320 ||
|| derby.impl.jdbc.!EmbedResultSet.checkIfClosed ||<style="text-align: right;"> 16.0000 ||
|| derby.impl.store.access.btree.!ControlRow.!CompareIndexRowFromPageToKey ||<style="text-align: right;"> 15.9746 ||
|| java.util.Vector.<init> ||<style="text-align: right;"> 15.0233 ||
|| derby.impl.drda.DDMWriter.writeByte ||<style="text-align: right;"> 15.0097 ||
|| derby.impl.services.locks.!LockSet.getControl ||<style="text-align: right;"> 15.0063 ||
|| derby.iapi.store.raw.!ContainerLock.isCompatible ||<style="text-align: right;"> 14.7802 ||
|| derby.iapi.store.raw.!PageKey.equals ||<style="text-align: right;"> 14.3226 ||
|| java.util.!LinkedList.get ||<style="text-align: right;"> 13.9780 ||
|| derby.impl.jdbc.!EmbedResultSetMetaData.validColumnNumber ||<style="text-align: right;"> 13.0055 ||
|| derby.impl.jdbc.!EmbedResultSetMetaData.getColumnTypeDescriptor ||<style="text-align: right;"> 13.0046 ||


=== Single-record update ===

This table shows all the methods that are called more than 15 times
per single-record update transaction.

|| '''Method name''' || '''Calls/tx''' ||
|| java.lang.String.charAt ||<style="text-align: right;"> 200.3260||
|| org.apache.derby.iapi.services.io.!DynamicByteArrayOutputStream.write ||<style="text-align: right;"> 190.0080||
|| java.io.!DataOutputStream.incCount ||<style="text-align: right;"> 162.7290||
|| java.lang.Object.<init> ||<style="text-align: right;"> 116.2030||
|| java.io.!DataOutputStream.write ||<style="text-align: right;"> 110.0000 ||
|| java.lang.Object.equals ||<style="text-align: right;"> 109.9290||
|| java.util.Hashtable.get ||<style="text-align: right;"> 70.6695 ||
|| org.apache.derby.iapi.store.raw.!ContainerLock.isCompatible ||<style="text-align: right;"> 69.6852 ||
|| org.apache.derby.iapi.services.io.!ArrayInputStream.setPosition ||<style="text-align: right;"> 69.4433 ||
|| java.lang.Object.hashCode ||<style="text-align: right;"> 55.9236 ||
|| org.apache.derby.impl.store.raw.data.!StoredFieldHeader.readStatus ||<style="text-align: right;"> 45.7157 ||
|| java.util.!LinkedList.entry ||<style="text-align: right;"> 45.1451 ||
|| java.util.!LinkedList.get ||<style="text-align: right;"> 42.9577 ||
|| org.apache.derby.iapi.services.io.!ArrayInputStream.clearLimit ||<style="text-align: right;"> 41.7171 ||
|| org.apache.derby.iapi.services.io.!ArrayInputStream.setLimit ||<style="text-align: right;"> 38.7157 ||
|| org.apache.derby.iapi.store.raw.!ContainerKey.hashCode ||<style="text-align: right;"> 38.4798 ||
|| org.apache.derby.impl.store.raw.data.!StoredFieldHeader.readFieldLengthAndSetStreamPosition ||<style="text-align: right;"> 37.7157 ||
|| org.apache.derby.impl.drda.DDMWriter.ensureLength ||<style="text-align: right;"> 36.2130||
|| org.apache.derby.iapi.services.io.!FormatableBitSet.isSet ||<style="text-align: right;"> 35.1844 ||
|| org.apache.derby.iapi.store.raw.!ContainerKey.requestCompatible ||<style="text-align: right;"> 34.8426 ||
|| org.apache.derby.iapi.types.SQLInteger.typePrecedence ||<style="text-align: right;"> 33.9640||
|| org.apache.derby.impl.store.raw.data.!BasePage.getHeaderAtSlot ||<style="text-align: right;"> 32.7325 ||
|| org.apache.derby.iapi.store.raw.!ContainerKey.equals ||<style="text-align: right;"> 32.5008 ||
|| java.io.!DataOutputStream.writeByte ||<style="text-align: right;"> 31.6492 ||
|| org.apache.derby.impl.store.raw.data.!StoredRecordHeader.hasOverflow ||<style="text-align: right;"> 30.7276 ||
|| org.apache.derby.impl.drda.DDMReader.ensureA!LayerDataInBuffer ||<style="text-align: right;"> 30.1300||
|| java.util.Vector.indexOf ||<style="text-align: right;"> 30.0341 ||
|| org.apache.derby.impl.drda.DDMReader.ensureB!LayerDataInBuffer ||<style="text-align: right;"> 27.1143 ||
|| org.apache.derby.impl.drda.DDMReader.adjustLengths ||<style="text-align: right;"> 27.1143 ||
|| org.apache.derby.iapi.store.raw.!PageKey.hashCode ||<style="text-align: right;"> 27.0171 ||
|| org.apache.derby.impl.store.raw.data.!StoredRecordHeader.size ||<style="text-align: right;"> 24.7276 ||
|| org.apache.derby.impl.drda.DDMWriter.writeBytes ||<style="text-align: right;"> 24.0578 ||
|| org.apache.derby.impl.store.raw.data.!StoredPage.getRecordOffset ||<style="text-align: right;"> 23.7399 ||
|| org.apache.derby.impl.store.raw.data.!BasePage.checkSlotOnPage ||<style="text-align: right;"> 23.7300||
|| java.lang.System.arraycopy ||<style="text-align: right;"> 22.5158 ||
|| org.apache.derby.iapi.services.io.!ArrayOutputStream.write ||<style="text-align: right;"> 22.2370||
|| org.apache.derby.impl.store.raw.data.!StoredRecordHeader.getHandle ||<style="text-align: right;"> 21.7264 ||
|| org.apache.derby.iapi.store.raw.!PageKey.equals ||<style="text-align: right;"> 21.6974 ||
|| org.apache.derby.impl.store.raw.data.!StoredPage.restoreRecordFromSlot ||<style="text-align: right;"> 20.7276 ||
|| org.apache.derby.impl.store.raw.data.!StoredPage.readRecordFromArray ||<style="text-align: right;"> 20.7276 ||
|| org.apache.derby.impl.store.raw.data.!BasePage.fetchFromSlot ||<style="text-align: right;"> 20.7276 ||
|| java.util.!HashMap.indexFor ||<style="text-align: right;"> 20.0936 ||
|| java.util.!HashMap.hash ||<style="text-align: right;"> 20.0936 ||
|| org.apache.derby.impl.services.locks.!LockSet.getControl ||<style="text-align: right;"> 20.0184 ||
|| org.apache.derby.impl.store.access.heap.!HeapRowLocation.readExternalFromArray ||<style="text-align: right;"> 17.9869 ||
|| org.apache.derby.iapi.services.io.!ArrayInputStream.readCompressedLong ||<style="text-align: right;"> 17.9869 ||
|| org.apache.derby.iapi.services.io.!ArrayInputStream.readCompressedInt ||<style="text-align: right;"> 17.9869 ||
|| org.apache.derby.iapi.services.io.!CompressedNumber.writeInt ||<style="text-align: right;"> 17.8821 ||
|| org.apache.derby.impl.store.raw.data.!RecordId.hashCode ||<style="text-align: right;"> 17.0097 ||
|| org.apache.derby.impl.sql.execute.!BasicNoPutResultSetImpl.getElapsedMillis ||<style="text-align: right;"> 17.0000 ||
|| org.apache.derby.impl.sql.execute.!BasicNoPutResultSetImpl.getCurrentTimeMillis ||<style="text-align: right;"> 17.0000 ||
|| org.apache.derby.iapi.types.SQLInteger.readExternalFromArray ||<style="text-align: right;"> 16.9821 ||
|| org.apache.derby.iapi.services.io.!ArrayInputStream.readInt ||<style="text-align: right;"> 16.9821 ||
|| org.apache.derby.iapi.types.SQLInteger.typeCompare ||<style="text-align: right;"> 16.9820||
|| org.apache.derby.iapi.types.!NumberDataType.compare ||<style="text-align: right;"> 16.9820||
|| java.util.!HashMap.get ||<style="text-align: right;"> 16.0617 ||
|| java.util.Vector.ensureCapacityHelper ||<style="text-align: right;"> 16.0194 ||
|| java.util.Vector.addElement ||<style="text-align: right;"> 16.0194 ||
|| org.apache.derby.impl.store.access.btree.!ControlRow.!CompareIndexRowFromPageToKey ||<style="text-align: right;"> 15.9832 ||
|| java.lang.String.hashCode ||<style="text-align: right;"> 15.1830||
|| java.util.Vector.<init> ||<style="text-align: right;"> 15.0688 ||
|| java.util.Vector.size ||<style="text-align: right;"> 15.0568 ||
|| org.apache.derby.impl.sql.execute.!ValueRow.getColumn ||<style="text-align: right;"> 15.0060||


=== Join ===

This table shows all the methods that are called more than 10000 times
per join transaction.

|| '''Method name''' || '''Calls/tx''' ||
|| org.apache.derby.iapi.services.io.!ArrayInputStream.setPosition ||<style="text-align: right;"> 43837.7 ||
|| org.apache.derby.impl.sql.execute.!BasicNoPutResultSetImpl.getCurrentTimeMillis ||<style="text-align: right;"> 33893.0 ||
|| org.apache.derby.impl.store.raw.data.!BasePage.getHeaderAtSlot ||<style="text-align: right;"> 33500.7 ||
|| org.apache.derby.impl.store.raw.data.!BasePage.checkSlotOnPage ||<style="text-align: right;"> 32878.2 ||
|| org.apache.derby.impl.sql.execute.!BasicNoPutResultSetImpl.getElapsedMillis ||<style="text-align: right;"> 31892.0 ||
|| java.lang.Object.<init> ||<style="text-align: right;"> 27719.7 ||
|| java.util.Hashtable.get ||<style="text-align: right;"> 24329.3 ||
|| org.apache.derby.impl.sql.execute.!NoPutResultSetImpl.setCurrentRow ||<style="text-align: right;"> 21919.7 ||
|| org.apache.derby.impl.sql.execute.!BaseActivation.setCurrentRow ||<style="text-align: right;"> 21919.7 ||
|| org.apache.derby.impl.store.raw.data.!StoredFieldHeader.readStatus ||<style="text-align: right;"> 21918.9 ||
|| org.apache.derby.impl.store.raw.data.!StoredFieldHeader.readFieldLengthAndSetStreamPosition ||<style="text-align: right;"> 21918.9 ||
|| org.apache.derby.iapi.services.io.!ArrayInputStream.setLimit ||<style="text-align: right;"> 21918.9 ||
|| org.apache.derby.iapi.services.io.!ArrayInputStream.clearLimit ||<style="text-align: right;"> 21918.9 ||
|| org.apache.derby.impl.store.raw.data.!StoredRecordHeader.size ||<style="text-align: right;"> 21918.8 ||
|| org.apache.derby.impl.store.raw.data.!StoredRecordHeader.hasOverflow ||<style="text-align: right;"> 21918.8 ||
|| org.apache.derby.impl.store.raw.data.!StoredPage.restoreRecordFromSlot ||<style="text-align: right;"> 21918.8 ||
|| org.apache.derby.impl.store.raw.data.!StoredPage.readRecordFromArray ||<style="text-align: right;"> 21918.8 ||
|| org.apache.derby.impl.store.raw.data.!StoredPage.getRecordOffset ||<style="text-align: right;"> 21918.8 ||
|| org.apache.derby.impl.store.raw.data.!BasePage.fetchFromSlot ||<style="text-align: right;"> 21918.8 ||
|| org.apache.derby.impl.store.raw.data.!StoredRecordHeader.getHandle ||<style="text-align: right;"> 21918.8 ||
|| org.apache.derby.impl.store.access.heap.!HeapController.lockRow ||<style="text-align: right;"> 21918.8 ||
|| org.apache.derby.impl.store.access.heap.!HeapRowLocation.getRecordHandle ||<style="text-align: right;"> 21918.8 ||
|| org.apache.derby.impl.sql.execute.!GenericQualifier.getOrderable ||<style="text-align: right;"> 20918.7 ||
|| org.apache.derby.impl.sql.execute.!ValueRow.getColumn ||<style="text-align: right;"> 13961.4 ||
|| org.apache.derby.iapi.store.raw.!ContainerKey.hashCode ||<style="text-align: right;"> 12932.4 ||
|| org.apache.derby.iapi.store.raw.!PageKey.hashCode ||<style="text-align: right;"> 12922.3 ||
|| org.apache.derby.iapi.store.raw.!PageKey.<init> ||<style="text-align: right;"> 11743.3 ||
|| org.apache.derby.impl.store.raw.data.!RecordId.hashCode ||<style="text-align: right;"> 11513.9 ||
|| org.apache.derby.impl.store.raw.data.!RecordId.<init> ||<style="text-align: right;"> 11118.8 ||
|| org.apache.derby.impl.store.raw.data.!BaseContainerHandle.makeRecordHandle ||<style="text-align: right;"> 11039.1 ||
|| org.apache.derby.impl.sql.execute.!ValueRow.setRowArray ||<style="text-align: right;"> 10962.3 ||
|| org.apache.derby.impl.store.access.btree.index.B2IRowLockingRR.lockScanRow ||<style="text-align: right;"> 10961.4 ||
|| org.apache.derby.impl.store.access.btree.index.B2I!RowLocking3._lockScanRow ||<style="text-align: right;"> 10961.4 ||
|| org.apache.derby.impl.store.access.heap.!HeapRowLocation.readExternalFromArray ||<style="text-align: right;"> 10959.4 ||
|| org.apache.derby.iapi.services.io.!ArrayInputStream.readCompressedLong ||<style="text-align: right;"> 10959.4 ||
|| org.apache.derby.iapi.services.io.!ArrayInputStream.readCompressedInt ||<style="text-align: right;"> 10959.4 ||
|| org.apache.derby.impl.store.raw.data.!StoredRecordHeader.isDeleted ||<style="text-align: right;"> 10959.4 ||
|| org.apache.derby.impl.store.raw.data.!BasePage.isDeletedOnPage ||<style="text-align: right;"> 10959.4 ||
|| org.apache.derby.impl.store.raw.data.!BasePage.isDeletedAtSlot ||<style="text-align: right;"> 10959.4 ||
|| org.apache.derby.impl.store.access.btree.index.B2I!RowLocking3.lockRowOnPage ||<style="text-align: right;"> 10959.4 ||
|| org.apache.derby.impl.store.raw.data.!StoredFieldHeader.readTotalFieldLength ||<style="text-align: right;"> 10959.4 ||
|| org.apache.derby.iapi.types.SQLInteger.readExternalFromArray ||<style="text-align: right;"> 10959.4 ||
|| org.apache.derby.iapi.services.io.!ArrayInputStream.readInt ||<style="text-align: right;"> 10959.4 ||
|| org.apache.derby.impl.store.raw.xact.!RowLocking2nohold.lockRecordForRead ||<style="text-align: right;"> 10959.4 ||
|| org.apache.derby.impl.services.locks.!SinglePool.zeroDurationlockObject ||<style="text-align: right;"> 10959.4 ||
|| org.apache.derby.impl.store.access.heap.!HeapController.unlockRowAfterRead ||<style="text-align: right;"> 10959.4 ||
|| org.apache.derby.impl.store.access.btree.index.B2I!RowLocking2.unlockScanRecordAfterRead ||<style="text-align: right;"> 10959.4 ||
|| org.apache.derby.impl.sql.execute.!BasicNoPutResultSetImpl.setCompatRow ||<style="text-align: right;"> 10959.3 ||
|| java.util.!HashMap.indexFor ||<style="text-align: right;"> 10129.4 ||
|| java.util.!HashMap.hash ||<style="text-align: right;"> 10129.4 ||