PowerPack Performance Metrics

Back to PowerPack

Performance Metric Tables Methodology

Reading the Data Structure Performance Tables

Index to Initial Data Performance Metrics
HashMultiMap

Back to HashMultiMap Info

Action Definitions

AddOne:
new HashMultiMap<'a, 'a>(HashIdentity.Structural)
for a in zipData do
   h.Add next tuple element


Initial Data Performance


HashMultiMap Size 1 - 100

Size: 1 Size:10 Size:100
InitData Action Time rel to prev increment Time rel to best InitData Action Time rel to prev increment Time rel to best InitData Action Time rel to prev increment Time rel to best
ListIntRnd AddOne - - ListIntRnd AddOne - - ListIntRnd AddOne - -
ListIntRndDup AddOne 1.0 1.0 ListIntAsc AddOne 1.0 1.0 ListIntAsc AddOne 1.0 1.0
ListIntAsc AddOne 1.0 1.0 ArrayIntRnd AddOne 1.0 1.0 ArrayIntRnd AddOne 1.0 1.0
ArrayIntRnd AddOne 1.0 1.0 ListStringRnd AddOne 1.0 1.0 ListStringRnd AddOne 1.0 1.0
ArrayIntRndDup AddOne 1.0 1.0 ListStringAsc AddOne 1.0 1.0 ArrayIntAsc AddOne 1.0 1.1
ListStringRnd AddOne 1.0 1.0 ArrayIntAsc AddOne 1.0 1.1 ListStringAsc AddOne 1.0 1.1
ListStringRnddup AddOne 1.0 1.0 ArrayStringRnd AddOne 1.0 1.1 ArrayStringAsc AddOne 1.0 1.1
ListStringAsc AddOne 1.0 1.0 ArrayStringAsc AddOne 1.0 1.1 ArrayStringRnd AddOne 1.0 1.1
ArrayIntAsc AddOne 1.0 1.1 ListIntRndDup AddOne 1.2 1.3 ListIntRndDup AddOne 1.2 1.3
ArrayStringRndDup AddOne 1.0 1.1 ArrayIntRndDup AddOne 1.0 1.4 ArrayIntRndDup AddOne 1.0 1.4
ArrayStringAsc AddOne 1.0 1.1 ListStringRnddup AddOne 1.1 1.4 ListStringRnddup AddOne 1.1 1.5
ArrayStringRnd AddOne 1.0 1.1 ArrayStringRndDup AddOne 1.0 1.5 ArrayStringRndDup AddOne 1.0 1.5
ListIntRndDup new() 4.3 4.8 ListIntRnd new() 3.2 4.7 ListIntRnd new() 3.1 4.7
ArrayIntRndDup new() 1.0 4.8 ListIntAsc new() 1.0 4.8 ArrayIntRnd new() 1.0 4.7
ArrayIntRnd new() 1.0 4.8 ArrayIntRnd new() 1.0 4.8 ListIntAsc new() 1.0 4.7
ListIntRnd new() 1.0 4.8 ArrayIntAsc new() 1.0 4.8 ArrayIntAsc new() 1.0 4.8
ListIntAsc new() 1.0 4.8 ListIntRndDup new() 1.0 5.0 ListIntRndDup new() 1.0 5.0
ArrayIntAsc new() 1.0 4.9 ListStringRnd new() 1.0 5.0 ListStringRnd new() 1.0 5.1
ListStringRnddup new() 1.0 5.1 ArrayIntRndDup new() 1.0 5.1 ArrayStringRnd new() 1.0 5.1
ListStringRnd new() 1.0 5.1 ArrayStringRnd new() 1.0 5.1 ArrayIntRndDup new() 1.0 5.1
ArrayStringRnd new() 1.0 5.1 ListStringAsc new() 1.0 5.1 ListStringAsc new() 1.0 5.1
ArrayStringAsc new() 1.0 5.1 ArrayStringAsc new() 1.0 5.2 ArrayStringAsc new() 1.0 5.1
ArrayStringRndDup new() 1.0 5.2 ListStringRnddup new() 1.1 5.5 ListStringRnddup new() 1.1 5.5
ListStringAsc new() 1.0 5.2 ArrayStringRndDup new() 1.0 5.5 ArrayStringRndDup new() 1.0 5.5


HashMultiMap Size 1,000 - 100,000

Size: 1,000 Size:10,000 Size:100,000
InitData Action Time rel to prev increment Time rel to best InitData Action Time rel to prev increment Time rel to best InitData Action Time rel to prev increment Time rel to best
ListIntRnd AddOne - - ListIntAsc AddOne - - ArrayIntAsc AddOne - -
ListIntAsc AddOne 1.0 1.0 ListIntRnd AddOne 1.0 1.0 ArrayIntAsc new() 1.1 1.1
ArrayIntRnd AddOne 1.0 1.0 ArrayIntRnd AddOne 1.0 1.0 ArrayIntRnd AddOne 1.0 1.1
ArrayIntAsc AddOne 1.0 1.0 ArrayIntAsc AddOne 1.0 1.0 ListIntAsc AddOne 1.1 1.2
ListStringAsc AddOne 1.1 1.1 ArrayStringAsc AddOne 1.2 1.3 ArrayStringAsc AddOne 1.1 1.3
ArrayStringAsc AddOne 1.0 1.1 ListStringAsc AddOne 1.0 1.3 ListIntAsc new() 1.0 1.4
ListStringRnd AddOne 1.0 1.1 ListStringRnd AddOne 1.2 1.5 ListIntRnd AddOne 1.0 1.4
ArrayStringRnd AddOne 1.0 1.2 ArrayStringRnd AddOne 1.0 1.5 ArrayIntRnd new() 1.0 1.4
ListIntRndDup AddOne 1.3 1.5 ArrayIntRndDup AddOne 1.3 1.9 ListStringAsc AddOne 1.0 1.4
ArrayIntRndDup AddOne 1.0 1.5 ListIntRndDup AddOne 1.0 2.0 ArrayStringAsc new() 1.0 1.4
ArrayStringRndDup AddOne 1.1 1.7 ListIntAsc new() 1.1 2.1 ListIntRnd new() 1.1 1.5
ListStringRnddup AddOne 1.0 1.7 ArrayIntAsc new() 1.0 2.2 ListStringAsc new() 1.1 1.6
ArrayIntRnd new() 2.4 4.0 ArrayIntRnd new() 1.0 2.2 ListStringRnd AddOne 1.2 1.9
ListIntAsc new() 1.0 4.0 ListIntRnd new() 1.0 2.2 ArrayStringRnd AddOne 1.0 2.0
ListIntRnd new() 1.0 4.0 ArrayStringRndDup AddOne 1.1 2.4 ArrayStringRnd new() 1.0 2.0
ArrayIntAsc new() 1.0 4.1 ListStringRnddup AddOne 1.0 2.5 ListStringRnd new() 1.0 2.0
ListStringAsc new() 1.1 4.4 ListStringAsc new() 1.0 2.5 ListStringRnddup AddOne 1.4 2.9
ListStringRnd new() 1.0 4.4 ArrayStringAsc new() 1.0 2.6 ListStringRnddup new() 1.0 3.0
ArrayStringRnd new() 1.0 4.4 ListStringRnd new() 1.0 2.7 ArrayIntRndDup AddOne 1.0 3.0
ArrayStringAsc new() 1.0 4.4 ArrayStringRnd new() 1.0 2.7 ArrayStringRndDup new() 1.0 3.1
ListIntRndDup new() 1.0 4.5 ListIntRndDup new() 1.2 3.1 ListIntRndDup AddOne 1.0 3.1
ArrayIntRndDup new() 1.0 4.5 ArrayIntRndDup new() 1.1 3.3 ArrayStringRndDup AddOne 1.0 3.1
ListStringRnddup new() 1.1 4.9 ArrayStringRndDup new() 1.1 3.6 ArrayIntRndDup new() 1.0 3.2
ArrayStringRndDup new() 1.0 4.9 ListStringRnddup new() 1.0 3.6 ListIntRndDup new() 1.0 3.2


HashMultiMap Size 1,000,000

Size: 1,000,000
InitData Action Time rel to prev increment Time rel to best
ArrayIntAsc AddOne - -
ArrayIntAsc new() 1.0 1.0
ListIntAsc AddOne 1.1 1.1
ListIntAsc new() 1.1 1.2
ArrayStringAsc new() 1.0 1.3
ArrayStringAsc AddOne 1.0 1.3
ListStringAsc AddOne 1.0 1.3
ListStringAsc new() 1.1 1.4
ArrayIntRnd AddOne 1.1 1.4
ArrayIntRnd new() 1.1 1.5
ListIntRnd AddOne 1.0 1.6
ListIntRnd new() 1.0 1.6
ArrayStringRnd new() 1.4 2.2
ListStringRnd new() 1.0 2.2
ListStringRnd AddOne 1.0 2.2
ArrayStringRnd AddOne 1.0 2.3
ArrayIntRndDup AddOne 1.4 3.1
ListIntRndDup new() 1.0 3.2
ArrayStringRndDup new() 1.0 3.3
ListIntRndDup AddOne 1.0 3.3
ListStringRnddup new() 1.0 3.3
ArrayIntRndDup new() 1.0 3.3
ListStringRnddup AddOne 1.0 3.3
ArrayStringRndDup AddOne 1.0 3.4




Scaling Performance -- Action:AddOne

HashMultiMap Initial Data:Integer Array

Size Order Time rel to prev increment Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd - Rnd Dup -
10 Asc 1.0 Rnd 1.0 Rnd Dup 1.3
102 Asc 1.0 Rnd 1.0 Rnd Dup 1.0
103 Asc 1.2 Rnd 1.2 Rnd Dup 1.3
104 Asc 2.7 Rnd 2.7 Rnd Dup 3.5
105 Asc 8.5 Rnd 9.8 Rnd Dup 13.5
106 Asc 10.5 Rnd 12.9 Rnd Dup 10.8


HashMultiMap Initial Data:String Array

Size Order Time rel to prev increment Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd - Rnd Dup -
10 Asc 1.0 Rnd 1.0 Rnd Dup 1.4
102 Asc 1.0 Rnd 1.0 Rnd Dup 1.0
103 Asc 1.3 Rnd 1.3 Rnd Dup 1.4
104 Asc 3.0 Rnd 3.6 Rnd Dup 3.8
105 Asc 9.1 Rnd 11.0 Rnd Dup 11.4
106 Asc 10.1 Rnd 12.2 Rnd Dup 11.4


HashMultiMap Initial Data:Integer List

Size Order Time rel to prev increment Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd - Rnd Dup -
10 Asc 1.0 Rnd 1.0 Rnd Dup 1.3
102 Asc 1.0 Rnd 1.0 Rnd Dup 1.0
103 Asc 1.2 Rnd 1.2 Rnd Dup 1.3
104 Asc 2.7 Rnd 2.7 Rnd Dup 3.6
105 Asc 10.5 Rnd 11.8 Rnd Dup 13.9
106 Asc 9.9 Rnd 12.0 Rnd Dup 10.9


HashMultiMap Initial Data:String List

Size Order Time rel to prev increment Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd - Rnd Dup -
10 Asc 1.0 Rnd 1.0 Rnd Dup 1.4
102 Asc 1.0 Rnd 1.0 Rnd Dup 1.0
103 Asc 1.3 Rnd 1.3 Rnd Dup 1.4
104 Asc 3.1 Rnd 3.6 Rnd Dup 4.0
105 Asc 9.5 Rnd 11.0 Rnd Dup 10.1
106 Asc 9.6 Rnd 12.1 Rnd Dup 12.0



Scaling Performance -- Action:new()

HashMultiMap Initial Data:Integer Array

Size Order Time rel to prev increment Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd - Rnd Dup -
10 Asc 1.0 Rnd 1.0 Rnd Dup 1.1
102 Asc 1.0 Rnd 1.0 Rnd Dup 1.0
103 Asc 1.0 Rnd 1.0 Rnd Dup 1.1
104 Asc 1.4 Rnd 1.5 Rnd Dup 1.9
105 Asc 4.5 Rnd 5.5 Rnd Dup 8.5
106 Asc 9.6 Rnd 11.6 Rnd Dup 10.9


HashMultiMap Initial Data:String Array

Size Order Time rel to prev increment Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd - Rnd Dup -
10 Asc 1.0 Rnd 1.0 Rnd Dup 1.1
102 Asc 1.0 Rnd 1.0 Rnd Dup 1.0
103 Asc 1.1 Rnd 1.1 Rnd Dup 1.1
104 Asc 1.6 Rnd 1.6 Rnd Dup 1.9
105 Asc 4.9 Rnd 6.5 Rnd Dup 7.6
106 Asc 9.2 Rnd 11.4 Rnd Dup 11.0


HashMultiMap Initial Data:Integer List

Size Order Time rel to prev increment Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd - Rnd Dup -
10 Asc 1.0 Rnd 1.0 Rnd Dup 1.1
102 Asc 1.0 Rnd 1.0 Rnd Dup 1.0
103 Asc 1.0 Rnd 1.1 Rnd Dup 1.1
104 Asc 1.4 Rnd 1.5 Rnd Dup 1.9
105 Asc 5.5 Rnd 5.9 Rnd Dup 9.1
106 Asc 9.3 Rnd 11.1 Rnd Dup 10.5


HashMultiMap Initial Data:String List

Size Order Time rel to prev increment Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd - Rnd Dup -
10 Asc 1.0 Rnd 1.0 Rnd Dup 1.1
102 Asc 1.0 Rnd 1.0 Rnd Dup 1.0
103 Asc 1.1 Rnd 1.1 Rnd Dup 1.1
104 Asc 1.5 Rnd 1.6 Rnd Dup 2.0
105 Asc 5.5 Rnd 6.6 Rnd Dup 7.3
106 Asc 8.9 Rnd 11.4 Rnd Dup 11.6




LazyList

Back to LazyList Info

Action Definitions

AddOne:
LazyList.empty into recurse --
fLazyList.cons next input element


Init:
LazyList.ofArray, LazyList.ofList, or LazyList.ofSeq


Initial Data Performance


LazyList Size 1 - 100

Size: 1 Size:10 Size:100
InitData Action Time rel to prev increment Time rel to best InitData Action Time rel to prev increment Time rel to best InitData Action Time rel to prev increment Time rel to best
ArrayIntAsc Init - - ArrayIntAsc Init - - ArrayIntAsc Init - -
ListIntAsc Init 1.1 1.1 ListIntAsc Init 1.1 1.1 ListIntAsc Init 1.1 1.1
ListStringAsc Init 1.3 1.4 ListStringAsc Init 1.2 1.4 ListStringAsc Init 1.2 1.4
ArrayStringAsc Init 1.1 1.6 ArrayStringAsc Init 1.1 1.6 ArrayStringAsc Init 1.1 1.6
ArrayIntAsc AddOne 1.3 2.1 ArrayIntAsc AddOne 1.3 2.1 ArrayIntAsc AddOne 1.3 2.1
ListIntAsc AddOne 1.1 2.3 ListIntAsc AddOne 1.1 2.3 ListIntAsc AddOne 1.1 2.3
ListStringAsc AddOne 1.2 2.8 ListStringAsc AddOne 1.2 2.8 ListStringAsc AddOne 1.2 2.8
ArrayStringRndDup AddOne 1.0 2.8 ArrayStringRndDup AddOne 1.0 2.8 ArrayStringRnd AddOne 1.0 2.8
ArrayStringRnd AddOne 1.0 2.8 ArrayStringRnd AddOne 1.0 2.8 ArrayStringAsc AddOne 1.0 2.8
ArrayStringAsc AddOne 1.0 2.8 ArrayStringAsc AddOne 1.0 2.8 ArrayStringRndDup AddOne 1.0 2.8


LazyList Size 1,000 - 100,000

Size: 1,000 Size:10,000 Size:100,000
InitData Action Time rel to prev increment Time rel to best InitData Action Time rel to prev increment Time rel to best InitData Action Time rel to prev increment Time rel to best
ArrayIntAsc Init - - ArrayIntAsc Init - - ArrayIntAsc Init - -
ListIntAsc Init 1.1 1.1 ListIntAsc Init 1.1 1.1 ListIntAsc Init 1.1 1.1
ListStringAsc Init 1.2 1.4 ListStringAsc Init 1.2 1.4 ListStringAsc Init 1.2 1.3
ArrayStringAsc Init 1.1 1.6 ArrayStringAsc Init 1.1 1.6 ArrayStringAsc Init 1.1 1.5
ArrayIntAsc AddOne 1.3 2.1 ArrayIntAsc AddOne 1.5 2.4 ListIntAsc AddOne 3.4 5.2
ListIntAsc AddOne 1.1 2.3 ListIntAsc AddOne 1.1 2.7 ArrayIntAsc AddOne 1.1 5.9
ListStringAsc AddOne 1.2 2.8 ListStringAsc AddOne 1.2 3.1 ListStringAsc AddOne 1.1 6.3
ArrayStringRndDup AddOne 1.0 2.8 ArrayStringRndDup AddOne 1.0 3.2 ArrayStringAsc AddOne 1.0 6.4
ArrayStringAsc AddOne 1.0 2.9 ArrayStringRnd AddOne 1.0 3.2 ArrayStringRndDup AddOne 2.7 17.6
ArrayStringRnd AddOne 1.0 2.9 ArrayStringAsc AddOne 1.0 3.2 ArrayStringRnd AddOne 1.1 19.6


LazyList Size 1,000,000

Size: 1,000,000

InitData Action Time rel to prev increment Time rel to best
ArrayIntAsc Init - -
ListIntAsc Init 1.1 1.1
ListStringAsc Init 1.2 1.4
ArrayStringAsc Init 1.1 1.6
ArrayStringAsc AddOne 195.3 308.5
ArrayStringRnd AddOne 1.1 333.3
ArrayIntAsc AddOne 1.0 348.7
ListStringAsc AddOne 1.0 361.8
ListIntAsc AddOne 1.1 409.4
ArrayStringRndDup AddOne 1.1 434.9




Scaling Performance -- Action:AddOne

LazyList Initial Data:Integer Array

Size Order Time rel to prev increment
1 Asc -
10 Asc 1.0
102 Asc 1.0
103 Asc 1.0
104 Asc 1.1
105 Asc 2.6
106 Asc 56.2


LazyList Initial Data:String Array

Size Order Time rel to prev increment Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd AddOne - Rnd Dup -
10 Asc 1.0 Rnd AddOne 1.0 Rnd Dup 1.0
102 Asc 1.0 Rnd AddOne 1.0 Rnd Dup 1.0
103 Asc 1.0 Rnd AddOne 1.0 Rnd Dup 1.0
104 Asc 1.1 Rnd AddOne 1.1 Rnd Dup 1.1
105 Asc 2.1 Rnd AddOne 6.5 Rnd Dup 5.9
106 Asc 45.7 Rnd AddOne 16.1 Rnd Dup 23.4


LazyList Initial Data:Integer List

Size Order Time rel to prev increment
1 Asc -
10 Asc 1.0
102 Asc 1.0
103 Asc 1.0
104 Asc 1.1
105 Asc 2.1
106 Asc 74.3


LazyList Initial Data:String List

Size Order Time rel to prev increment
1 Asc -
10 Asc 1.0
102 Asc 1.0
103 Asc 1.0
104 Asc 1.1
105 Asc 2.1
106 Asc 54.4



Scaling Performance -- Action:Init

LazyList Initial Data:Integer Array

Size Order Time rel to prev increment
1 Asc -
10 Asc 1.0
102 Asc 1.0
103 Asc 1.0
104 Asc 1.0
105 Asc 1.1
106 Asc 0.9


LazyList Initial Data:String Array

Size Order Time rel to prev increment
1 Asc -
10 Asc 1.0
102 Asc 1.0
103 Asc 1.0
104 Asc 1.0
105 Asc 1.0
106 Asc 1.0


LazyList Initial Data:Integer List

Size Order Time rel to prev increment
1 Asc -
10 Asc 1.0
102 Asc 1.0
103 Asc 1.0
104 Asc 1.0
105 Asc 1.0
106 Asc 1.0


LazyList Initial Data:String List

Size Order Time rel to prev increment
1 Asc -
10 Asc 1.0
102 Asc 1.0
103 Asc 1.0
104 Asc 1.0
105 Asc 1.0
106 Asc 1.0



Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>