Object Allocations in Derby

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

Single-record select

Allocations of each object type in a single-record select transaction (as reported by the object-alloc probe in DTrace).

Class name

Bytes/tx

Objects/tx

Avg. size (bytes)

byte[]

612.0

6.8

90.7

char[]

432.0

2.0

215.9

derby.impl.sql.execute.TableScanResultSet

360.0

1.0

360.0

java.lang.Object[]

322.0

6.8

47.7

derby.impl.sql.execute.IndexRowToBaseRowResultSet

288.0

1.0

288.0

int[]

280.7

10.8

26.0

derby.impl.services.locks.Lock

228.0

9.5

24.0

java.util.Hashtable$Entry

205.6

8.6

24.0

derby.iapi.store.raw.PageKey

168.0

7.0

24.0

derby.impl.store.access.btree.index.B2I!ForwardScan

152.0

1.0

152.0

derby.impl.store.raw.data.BaseContainerHandle

144.0

3.0

48.0

derby.impl.jdbc.EmbedResultSet20

128.0

1.0

128.0

java.util.Vector

120.0

5.0

24.0

derby.iapi.types.DataValueDescriptor[]

120.0

5.0

24.0

derby.iapi.store.raw.FetchDescriptor

119.8

3.7

32.0

derby.impl.store.access.heap.HeapRowLocation

96.0

3.0

32.0

derby.impl.store.raw.data.RecordId

96.0

4.0

24.0

derby.impl.store.access.heap.OpenHeap

96.0

2.0

48.0

derby.impl.store.access.conglomerate.OpenConglomerateScratchSpace

96.0

3.0

32.0

derby.iapi.services.io.FormatableBitSet

89.9

3.7

24.0

java.util.HashMap$Entry

72.2

3.0

24.0

derby.impl.store.access.btree.B!TreeRowPosition

64.0

1.0

64.0

java.nio.HeapCharBuffer

48.0

1.0

48.0

java.nio.HeapByteBuffer

48.0

1.0

48.0

derby.iapi.types.SQLVarchar

48.0

1.0

48.0

java.util.LinkedList$Entry

40.0

1.7

24.0

derby.impl.store.raw.xact.TransactionTableEntry

40.0

1.0

40.0

derby.impl.store.access.btree.SearchParameters

40.0

1.0

40.0

java.lang.ref.Finalizer

32.0

1.0

32.0

java.lang.Long

32.0

2.0

16.0

java.util.HashMap$KeyIterator

32.0

1.0

32.0

derby.impl.store.access.heap.HeapController

32.0

2.0

16.0

derby.impl.store.access.conglomerate.RowPosition

32.0

1.0

32.0

derby.impl.sql.execute.ValueRow

32.0

2.0

16.0

derby.iapi.types.SQLInteger

32.0

2.0

16.0

java.lang.String

24.0

1.0

24.0

derby.impl.store.access.btree.index.B2I!RowLocking2

24.0

1.0

24.0

java.lang.Integer

16.0

1.0

16.0

char[][]

16.0

1.0

16.0

java.util.Collections$UnmodifiableRandomAccessList

16.0

1.0

16.0

derby.impl.store.raw.xact.XactId

16.0

1.0

16.0

derby.impl.jdbc.EmbedResultSetMetaData

16.0

1.0

16.0

java.lang.Byte

16.0

1.0

16.0

derby.impl.services.locks.ActiveLock

16.0

0.5

32.0

derby.impl.store.access.btree.index.B2IUndo

8.0

1.0

8.0

derby.impl.services.locks.LockControl

5.3

0.2

32.0

java.util.LinkedList

4.0

0.2

24.0

Total

4971.8

120.4

41.3

Single-record update

Allocations of each object type in a single-record update transaction (as reported by the object-alloc probe in DTrace).

Class name

Bytes/tx

Objects/tx

Avg. size (bytes)

char[]

433.3

2.0

215.2

derby.impl.sql.execute.TableScanResultSet

360.0

1.0

360.0

java.lang.Object[]

322.0

6.7

47.7

derby.impl.services.locks.Lock

297.2

12.4

24.0

derby.impl.sql.execute.IndexRowToBaseRowResultSet

288.0

1.0

288.0

derby.impl.sql.execute.ProjectRestrictResultSet

248.0

1.0

248.0

derby.impl.sql.execute.UpdateResultSet

240.0

1.0

240.0

java.util.Hashtable$Entry

225.1

9.4

24.0

derby.impl.sql.execute.NormalizeResultSet

216.0

1.0

216.0

int[]

209.6

6.9

30.4

derby.iapi.store.raw.PageKey

192.0

8.0

24.0

derby.iapi.types.DataValueDescriptor[]

160.0

7.0

22.9

byte[]

154.3

5.7

26.8

derby.impl.store.access.btree.index.B2I!ForwardScan

152.0

1.0

152.0

derby.impl.store.raw.data.BaseContainerHandle

144.0

3.0

48.0

derby.impl.store.access.conglomerate.OpenConglomerateScratchSpace

128.0

4.0

32.0

java.util.Vector

120.0

5.0

24.0

derby.impl.store.raw.data.RecordId

120.0

5.0

24.0

derby.iapi.store.raw.FetchDescriptor

119.9

3.7

32.0

derby.iapi.services.io.FormatableBitSet

113.9

4.7

24.0

derby.impl.sql.execute.RowChangerImpl

104.0

1.0

104.0

derby.iapi.types.SQLVarchar

96.0

2.0

48.0

derby.impl.store.access.heap.HeapRowLocation

96.0

3.0

32.0

derby.impl.store.access.heap.OpenHeap

96.0

2.0

48.0

derby.impl.store.raw.data.StoredRecordHeader

96.0

2.0

48.0

java.util.HashMap$Entry

72.3

3.0

24.0

derby.impl.store.raw.log.LogCounter

72.0

3.0

24.0

derby.impl.store.access.btree.B!TreeRowPosition

64.0

1.0

64.0

derby.impl.store.access.conglomerate.RowPosition

64.0

2.0

32.0

java.util.LinkedList$Entry

61.0

2.5

24.0

derby.impl.store.raw.data.UpdateOperation

56.0

1.0

56.0

java.nio.HeapCharBuffer

48.0

1.0

48.0

java.nio.HeapByteBuffer

48.0

1.0

48.0

java.lang.Long

48.0

3.0

16.0

derby.impl.sql.execute.ValueRow

48.0

3.0

16.0

derby.impl.store.raw.xact.TransactionTableEntry

40.0

1.0

40.0

derby.impl.store.access.btree.SearchParameters

40.0

1.0

40.0

derby.impl.services.locks.LockControl

36.3

1.1

32.0

java.lang.Integer

32.0

2.0

16.0

char[][]

32.0

2.0

16.0

java.util.HashMap$KeyIterator

32.0

1.0

32.0

derby.impl.store.access.heap.HeapController

32.0

2.0

16.0

derby.iapi.types.SQLInteger

32.0

2.0

16.0

java.lang.Byte

32.0

2.0

16.0

java.lang.String

24.2

1.0

24.0

derby.impl.store.raw.xact.SavePoint

24.0

1.0

24.0

derby.impl.store.access.btree.index.B2I!RowLocking2

24.0

1.0

24.0

derby.iapi.util.ByteArray

24.0

1.0

24.0

derby.iapi.types.DataTypeDescriptor[]

24.0

1.0

24.0

derby.impl.services.locks.ActiveLock

19.8

0.6

32.0

boolean[]

16.0

1.0

16.0

java.util.Collections$UnmodifiableRandomAccessList

16.0

1.0

16.0

derby.impl.store.raw.xact.XactId

16.0

1.0

16.0

derby.iapi.types.SQLRef

16.0

1.0

16.0

derby.iapi.types.DataValueDescriptor[][]

16.0

1.0

16.0

derby.impl.store.raw.xact.EndXact

16.0

1.0

16.0

derby.impl.store.raw.xact.BeginXact

16.0

1.0

16.0

derby.impl.store.access.btree.index.B2IUndo

8.0

1.0

8.0

java.util.LinkedList

3.2

0.1

24.0

Total

5884.5

148.1

39.7

Join

Allocations of each object type in a join transaction (as reported by the object-alloc probe in DTrace).

Class name

Bytes/tx

Objects/tx

Avg. size (bytes)

derby.iapi.store.raw.PageKey

283055

11794

24

derby.impl.store.raw.data.RecordId

267998

11167

24

java.util.Hashtable$Entry

42607

1775

24

derby.impl.store.access.heap.HeapRowLocation

32659

1021

32

derby.iapi.types.DataValueDescriptor[]

24583

1026

24

derby.impl.services.locks.Lock

20552

856

24

derby.iapi.types.SQLInteger

16330

1021

16

java.util.Hashtable$Entry[]

12311

8

1537

int[]

4656

12

390

java.util.HashMap$Entry

1970

82

24

java.util.LinkedList$Entry

637

27

24

derby.impl.services.locks.ActiveLock

487

15

32

derby.impl.sql.execute.BulkTableScanResultSet

376

1

376

derby.impl.sql.execute.HashScanResultSet

328

1

328

derby.impl.store.access.btree.index.B2I!ForwardScan

304

2

152

derby.impl.sql.execute.HashJoinResultSet

264

1

264

derby.impl.sql.execute.ProjectRestrictResultSet

248

1

248

java.lang.Object[]

225

4

56

derby.impl.store.raw.data.BaseContainerHandle

192

4

48

derby.impl.services.locks.LockControl

154

4

32

derby.impl.store.access.conglomerate.OpenConglomerateScratchSpace

128

4

32

derby.impl.store.access.btree.B!TreeRowPosition

128

2

64

derby.impl.jdbc.EmbedResultSet20

128

1

128

java.util.LinkedList

115

4

24

derby.iapi.types.DataValueDescriptor[][]

112

3

37

java.util.Vector

96

4

24

derby.impl.store.access.heap.OpenHeap

96

2

48

derby.iapi.store.raw.FetchDescriptor

64

2

32

java.util.HashMap$KeyIterator

64

2

32

derby.impl.sql.execute.ValueRow

64

4

16

derby.impl.store.access.BackingStoreHashTableFromScan

64

1

64

java.util.HashMap$Entry[]

48

1

48

java.lang.Long

48

3

16

derby.iapi.services.loader.InstanceGetter[]

48

2

24

derby.impl.store.access.btree.index.B2I!RowLocking2

48

2

24

java.util.HashMap

40

1

40

java.util.Hashtable

40

1

40

derby.impl.store.raw.xact.TransactionTableEntry

40

1

40

java.lang.ref.Finalizer

32

1

32

derby.impl.store.access.heap.HeapController

32

2

16

derby.impl.sql.execute.IndexRow

24

1

24

boolean[]

16

1

16

java.util.Collections$UnmodifiableRandomAccessList

16

1

16

java.util.HashMap$KeySet

16

1

16

derby.impl.store.raw.xact.XactId

16

1

16

derby.impl.jdbc.EmbedResultSetMetaData

16

1

16

derby.impl.store.access.btree.index.B2IUndo

16

2

8

derby.iapi.services.io.FormatableIntHolder[]

16

1

16

Total

711510

28875

25

Derby1961Objects (last edited 2009-09-20 22:12:49 by localhost)