FSharpx.DataStructures Performance Metrics

Back to FSharpx.DataStructures

Performance Metric Tables Methodology

Reading the Data Structure Performance Tables

Index to Initial Data Performance Metrics
BootstrappedQueue

Back to BootstrappedQueue info

Action Definitions

AddOne:
recurse --
BootstrappedQueue.snoc next input element


Init:
convert input to List (if necessary)
let b0 = BootstrappedQueue.Empty
BootstrappedQueue.NonEmptyBootstrappedQueue<_>.create (data.Length) data b0 0 [] |> BootstrappedQueue.NonEmpty


Initial Data Performance


BootstrappedQueue 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
ListIntAsc Init - - ListIntAsc Init - - ListIntAsc Init - -
ListStringAsc Init 1.1 1.1 ListStringAsc Init 1.1 1.1 ListStringAsc Init 1.1 1.1
ArrayStringAsc Init 1.1 1.1 ArrayStringAsc Init 1.1 1.1 ArrayStringRnd Init 1.1 1.1
ArrayStringRnd Init 1.0 1.1 ArrayStringRnd Init 1.0 1.1 ArrayStringAsc Init 1.0 1.1
ArrayIntAsc Init 1.1 1.2 ArrayIntAsc Init 1.1 1.2 ArrayIntAsc Init 1.1 1.2
ArrayIntAsc AddOne 1.1 1.3 ArrayStringAsc AddOne 2.3 2.9 ArrayStringRnd AddOne 2.4 3.0
ListIntAsc AddOne 1.1 1.4 ArrayStringRnd AddOne 1.0 2.9 ArrayStringAsc AddOne 1.0 3.0
ArrayStringAsc AddOne 1.1 1.6 ListStringRnddup AddOne 1.0 3.0 ListStringRnd AddOne 1.0 3.1
ArrayStringRnd AddOne 1.0 1.7 ListStringRnd AddOne 1.0 3.0 ListStringAsc AddOne 1.0 3.1
ListStringAsc AddOne 1.1 1.8 ListStringAsc AddOne 1.0 3.0 ListStringRnddup AddOne 1.0 3.1
ListStringRnd AddOne 1.0 1.8 ArrayIntAsc AddOne 1.3 3.8 ArrayIntAsc AddOne 1.3 4.0
ListStringRnddup AddOne 1.0 1.8 ListIntAsc AddOne 1.0 3.8 ListIntAsc AddOne 1.0 4.0


BootstrappedQueue 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
ListIntAsc Init - - ListIntAsc Init - - ListIntAsc Init - -
ListStringAsc Init 1.1 1.1 ListStringAsc Init 1.1 1.1 ListStringAsc Init 1.1 1.1
ArrayStringAsc Init 1.0 1.1 ArrayStringRnd Init 1.1 1.2 ArrayStringAsc Init 1.6 1.8
ArrayStringRnd Init 1.0 1.1 ArrayStringAsc Init 1.0 1.2 ArrayIntAsc Init 1.1 2.0
ArrayIntAsc Init 1.1 1.2 ArrayIntAsc Init 1.1 1.2 ArrayStringRnd Init 4.0 8.1
ArrayStringRnd AddOne 2.5 3.0 ArrayStringRnd AddOne 2.7 3.4 ArrayIntAsc AddOne 1.0 8.2
ArrayStringAsc AddOne 1.0 3.1 ArrayStringAsc AddOne 1.0 3.4 ListIntAsc AddOne 1.6 12.9
ListStringRnddup AddOne 1.0 3.2 ListStringAsc AddOne 1.0 3.5 ArrayStringRnd AddOne 1.1 13.7
ListStringRnd AddOne 1.0 3.2 ListStringRnddup AddOne 1.0 3.5 ArrayStringAsc AddOne 1.1 15.2
ListStringAsc AddOne 1.0 3.2 ListStringRnd AddOne 1.0 3.5 ListStringAsc AddOne 1.0 15.4
ArrayIntAsc AddOne 1.3 4.0 ArrayIntAsc AddOne 1.2 4.1 ListStringRnddup AddOne 1.0 15.4
ListIntAsc AddOne 1.0 4.1 ListIntAsc AddOne 1.0 4.1 ListStringRnd AddOne 1.2 19.1


BootstrappedQueue Size 1,000,000

Size: 1,000,000

InitData Action Time rel to prev increment Time rel to best
ListIntAsc Init - -
ListStringAsc Init 1.0 1.0
ArrayIntAsc Init 9.0 9.3
ArrayStringRnd Init 1.7 15.7
ArrayStringAsc Init 1.1 17.3
ArrayIntAsc AddOne 3.4 59.1
ListIntAsc AddOne 1.1 67.8
ArrayStringRnd AddOne 1.0 67.9
ListStringRnd AddOne 1.0 69.7
ArrayStringAsc AddOne 1.0 69.7
ListStringRnddup AddOne 1.0 72.1
ListStringAsc AddOne 1.5 107.4




Scaling Performance -- Action:AddOne

BootstrappedQueue Initial Data:Integer Array

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


BootstrappedQueue Initial Data:String Array

Size Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd -
10 Asc 1.8 Rnd 1.8
102 Asc 1.0 Rnd 1.0
103 Asc 1.0 Rnd 1.0
104 Asc 1.2 Rnd 1.2
105 Asc 4.9 Rnd 4.4
106 Asc 9.9 Rnd 10.7


BootstrappedQueue Initial Data:Integer List

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


BootstrappedQueue 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 - run dup -
10 Asc 1.7 Rnd 1.7 run dup 1.7
102 Asc 1.0 Rnd 1.0 run dup 1.0
103 Asc 1.0 Rnd 1.0 run dup 1.0
104 Asc 1.2 Rnd 1.2 run dup 1.2
105 Asc 4.8 Rnd 5.9 run dup 4.8
106 Asc 15.1 Rnd 7.9 run dup 10.1



Scaling Performance -- Action:Init

BootstrappedQueue 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 1.8
106 Asc 10.0


BootstrappedQueue Initial Data:String Array

Size Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd -
10 Asc 1.0 Rnd 1.0
102 Asc 1.0 Rnd 1.0
103 Asc 1.0 Rnd 1.0
104 Asc 1.1 Rnd 1.1
105 Asc 1.6 Rnd 7.5
106 Asc 21.2 Rnd 4.2


BootstrappedQueue 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 1.1
106 Asc 2.2


BootstrappedQueue 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.1
106 Asc 2.0




DList

Back to DList info

Action Definitions

AddOne:
recurse --
DList.cons next input element


Init:
DList.ofSeq


Initial Data Performance


DList 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
ArrayStringRnd Init - - ArrayIntRnd Init - - ArrayIntRnd Init - -
ArrayStringAsc Init 1.0 1.0 ListIntAsc Init 1.0 1.0 arrayintDsc Init 1.0 1.0
ListStringAsc Init 1.0 1.0 arrayintDsc Init 1.0 1.0 ListIntAsc Init 1.0 1.0
ArrayIntRnd Init 1.0 1.0 ArrayIntAsc Init 1.0 1.0 ArrayIntAsc Init 1.0 1.0
arraystringDsc Init 1.0 1.0 ArrayStringRnd Init 1.0 1.0 ArrayStringRnd Init 1.0 1.0
arrayintDsc Init 1.0 1.0 ListStringAsc Init 1.0 1.0 ListStringAsc Init 1.0 1.1
ListIntAsc Init 1.0 1.0 ArrayStringAsc Init 1.0 1.0 arraystringDsc Init 1.0 1.1
ArrayIntAsc Init 1.0 1.0 arraystringDsc Init 1.0 1.0 ArrayStringAsc Init 1.0 1.1
ArrayIntRnd AddOne 1.8 1.8 ArrayIntRnd AddOne 1.8 1.8 ArrayIntRnd AddOne 1.8 1.9
ListIntRndDup AddOne 1.0 1.8 ListIntRndDup AddOne 1.0 1.8 ListIntRnd AddOne 1.0 1.9
ListIntRnd AddOne 1.0 1.8 ListIntRnd AddOne 1.0 1.8 ListIntRndDup AddOne 1.0 1.9
ListStringAsc AddOne 1.0 1.9 ListStringAsc AddOne 1.0 1.9 ArrayStringAsc AddOne 1.0 2.0
ArrayStringAsc AddOne 1.0 1.9 ArrayStringAsc AddOne 1.0 1.9 ListStringAsc AddOne 1.0 2.0
ListIntAsc AddOne 1.1 2.0 ListIntAsc AddOne 1.1 2.1 ListIntAsc AddOne 1.1 2.1
arrayintDsc AddOne 1.0 2.1 arrayintDsc AddOne 1.0 2.1 ArrayIntAsc AddOne 1.0 2.1
ArrayIntAsc AddOne 1.0 2.1 ArrayIntAsc AddOne 1.0 2.1 arrayintDsc AddOne 1.0 2.1


DList 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
ArrayIntRnd Init - - ArrayIntRnd Init - - ArrayIntRnd Init - -
ArrayIntAsc Init 1.0 1.0 arrayintDsc Init 1.0 1.0 ArrayIntAsc Init 1.0 1.0
ListIntAsc Init 1.0 1.0 ArrayIntAsc Init 1.0 1.0 ListIntAsc Init 1.0 1.0
arrayintDsc Init 1.0 1.0 ListIntAsc Init 1.0 1.0 arrayintDsc Init 1.3 1.3
ListStringAsc Init 1.0 1.1 ListStringAsc Init 1.1 1.2 arraystringDsc Init 1.2 1.6
ArrayStringRnd Init 1.0 1.1 ArrayStringAsc Init 1.0 1.2 ArrayStringAsc Init 1.0 1.6
arraystringDsc Init 1.0 1.1 arraystringDsc Init 1.0 1.2 ListStringAsc Init 1.0 1.6
ArrayStringAsc Init 1.0 1.1 ArrayStringRnd Init 1.0 1.2 ArrayStringRnd Init 1.8 2.9
ArrayIntRnd AddOne 2.3 2.5 arrayintDsc AddOne 40.5 47.3 arrayintDsc AddOne 663.6 1928.9
ArrayStringAsc AddOne 1.0 2.5 ArrayIntAsc AddOne 1.0 47.8 ArrayIntAsc AddOne 1.0 1979.8
ArrayIntAsc AddOne 1.1 2.7 ArrayIntRnd AddOne 1.1 50.4 ArrayStringAsc AddOne 1.1 2252.6
ListIntRnd AddOne 1.0 2.8 ArrayStringAsc AddOne 1.0 52.7 ArrayIntRnd AddOne 1.0 2315.6
ListStringAsc AddOne 1.0 2.9 ListStringAsc AddOne 1.4 73.6
ListIntAsc AddOne 1.0 3.0 ListIntRndDup AddOne 1.0 75.4
arrayintDsc AddOne 1.0 3.0 ListIntAsc AddOne 1.0 79.1
ListIntRndDup AddOne 1.0 3.1 ListIntRnd AddOne 1.0 79.7


DList Size 1,000,000

Size: 1,000,000

InitData Action Time rel to prev increment Time rel to best
ArrayIntRnd Init - -
ArrayIntAsc Init 1.0 1.0
arrayintDsc Init 1.1 1.1
ListIntAsc Init 1.1 1.2
ArrayStringAsc Init 1.1 1.4
ArrayStringRnd Init 1.0 1.4
arraystringDsc Init 1.1 1.5
ListStringAsc Init 1.1 1.6




Scaling Performance -- Action:AddOne

DList 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 - Dsc - Rnd -
10 Asc 1.0 Dsc 1.0 Rnd 1.0
102 Asc 1.0 Dsc 1.0 Rnd 1.0
103 Asc 1.3 Dsc 1.4 Rnd 1.3
104 Asc 20.4 Dsc 17.9 Rnd 23.2
105 Asc 93.9 Dsc 92.4 Rnd 104.2


DList Initial Data:String Array

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


DList 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.0
102 Asc 1.0 Rnd 1.0 Rnd Dup 1.0
103 Asc 1.4 Rnd 1.5 Rnd Dup 1.7
104 Asc 30.1 Rnd 32.7 Rnd Dup 27.5


DList Initial Data:String List

Size Order Time rel to prev increment
1 Asc -
10 Asc 1.0
102 Asc 1.0
103 Asc 1.5
104 Asc 28.8



Scaling Performance -- Action:Init

DList 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 - Dsc - Rnd -
10 Asc 1.0 Dsc 1.0 Rnd 1.0
102 Asc 1.0 Dsc 1.0 Rnd 1.0
103 Asc 1.0 Dsc 1.0 Rnd 1.0
104 Asc 1.1 Dsc 1.1 Rnd 1.1
105 Asc 2.2 Dsc 2.9 Rnd 2.3
106 Asc 19.7 Dsc 17.3 Rnd 20.0


DList 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 - Dsc - Rnd -
10 Asc 1.0 Dsc 1.0 Rnd 1.0
102 Asc 1.0 Dsc 1.0 Rnd 1.0
103 Asc 1.0 Dsc 1.0 Rnd 1.0
104 Asc 1.2 Dsc 1.2 Rnd 1.3
105 Asc 3.0 Dsc 3.0 Rnd 5.6
106 Asc 17.5 Dsc 19.1 Rnd 9.4


DList 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.2
106 Asc 23.4


DList 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.3
105 Asc 3.1
106 Asc 20.8




ImplicitQueue

Back to ImplicitQueue info

Action Definitions

AddOne:
recurse --
ImplicitQueue.snoc next input element


Initial Data Performance


ImplicitQueue 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 AddOne - - ArrayIntRnd AddOne - - ArrayIntRnd AddOne - -
arrayintDsc AddOne 1.0 1.0 arrayintDsc AddOne 1.0 1.0 ArrayIntAsc AddOne 1.0 1.0
ArrayIntRnd AddOne 1.0 1.0 ArrayIntAsc AddOne 1.0 1.0 arrayintDsc AddOne 1.0 1.0
ListIntAsc AddOne 1.1 1.1 ListIntAsc AddOne 1.1 1.1 ListIntAsc AddOne 1.1 1.1
ArrayStringRnd AddOne 1.0 1.1 ArrayStringRnd AddOne 1.1 1.2 ArrayStringAsc AddOne 1.1 1.2
ArrayStringRndDup AddOne 1.0 1.1 ArrayStringRndDup AddOne 1.0 1.2 ArrayStringRndDup AddOne 1.0 1.2
ArrayStringAsc AddOne 1.0 1.1 ArrayStringAsc AddOne 1.0 1.2 ArrayStringRnd AddOne 1.0 1.2
ListStringRnddup AddOne 1.1 1.2 ListStringRnd AddOne 1.1 1.3 ListStringRnd AddOne 1.1 1.2
ListStringRnd AddOne 1.0 1.2 ListStringAsc AddOne 1.0 1.3 ListStringRnddup AddOne 1.0 1.2
ListStringAsc AddOne 1.0 1.2 ListStringRnddup AddOne 1.0 1.3 ListStringAsc AddOne 1.0 1.2


ImplicitQueue 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
ArrayIntRnd AddOne - - arrayintDsc AddOne - - ArrayIntRnd AddOne - -
ArrayIntAsc AddOne 1.0 1.0 ListIntAsc AddOne 1.1 1.1 arrayintDsc AddOne 1.0 1.0
arrayintDsc AddOne 1.0 1.0 ArrayIntRnd AddOne 1.1 1.2 ArrayIntAsc AddOne 1.0 1.0
ListIntAsc AddOne 1.1 1.1 ArrayStringAsc AddOne 1.1 1.3 ListIntAsc AddOne 1.2 1.3
ArrayStringRndDup AddOne 1.1 1.2 ArrayIntAsc AddOne 1.1 1.4 ListStringRnddup AddOne 1.5 1.9
ArrayStringAsc AddOne 1.0 1.2 ListStringRnd AddOne 1.0 1.4 ListStringAsc AddOne 1.2 2.3
ArrayStringRnd AddOne 1.0 1.2 ListStringRnddup AddOne 1.0 1.4 ArrayStringAsc AddOne 1.0 2.3
ListStringAsc AddOne 1.1 1.3 ListStringAsc AddOne 1.0 1.4 ListStringRnd AddOne 1.2 2.7
ListStringRnd AddOne 1.0 1.3 ArrayStringRndDup AddOne 1.1 1.5 ArrayStringRndDup AddOne 1.1 3.1
ListStringRnddup AddOne 1.0 1.3 ArrayStringRnd AddOne 1.0 1.6 ArrayStringRnd AddOne 1.3 4.0


ImplicitQueue Size 1,000,000

Size: 1,000,000
InitData Action Time rel to prev increment Time rel to best
ArrayIntRnd AddOne - -
arrayintDsc AddOne 1.0 1.0
ArrayIntAsc AddOne 1.0 1.0
ListIntAsc AddOne 1.0 1.0
ArrayStringAsc AddOne 1.2 1.2
ListStringRnd AddOne 1.0 1.2
ListStringRnddup AddOne 1.0 1.3
ArrayStringRnd AddOne 1.2 1.5
ListStringAsc AddOne 1.2 1.8




Scaling Performance -- Action:AddOne

ImplicitQueue 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 - Dsc - Rnd -
10 Asc 1.0 Dsc 1.0 Rnd 1.0
102 Asc 1.0 Dsc 1.0 Rnd 1.0
103 Asc 1.0 Dsc 1.0 Rnd 1.0
104 Asc 1.5 Dsc 1.1 Rnd 1.4
105 Asc 2.3 Dsc 3.1 Rnd 2.6
106 Asc 26.2 Dsc 26.2 Rnd 26.6


ImplicitQueue 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.1 Rnd 1.1 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.0
104 Asc 1.2 Rnd 1.5 Rnd Dup 1.5
105 Asc 5.5 Rnd 7.9 Rnd Dup 6.0
106 Asc 13.7 Rnd 9.8


ImplicitQueue 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 3.6
106 Asc 21.4


ImplicitQueue 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.1 Rnd 1.1 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.0
104 Asc 1.2 Rnd 1.2 Rnd Dup 1.2
105 Asc 5.2 Rnd 6.0 Rnd Dup 4.4
106 Asc 20.5 Rnd 12.0 Rnd Dup 17.2




Persistent Vector

Back to Vector info

Action Definitions

AddOne:
Vector.empty into recurse --
v.Conj next input element


Init:
Vector.ofSeq


Initial Data Performance


Persistent Vector 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
ArrayStringAsc AddOne - - ArrayStringAsc AddOne - - ArrayStringAsc AddOne - -
ListStringAsc AddOne 1.0 1.0 ListStringAsc AddOne 1.0 1.0 ListStringAsc AddOne 1.0 1.0
ArrayIntRnd AddOne 1.1 1.2 ArrayIntRnd AddOne 1.1 1.1 ArrayIntRnd AddOne 1.1 1.1
ListIntRnd AddOne 1.0 1.2 ListIntRnd AddOne 1.0 1.2 ListIntRnd AddOne 1.0 1.1
ListIntAsc AddOne 1.4 1.6 ListIntAsc AddOne 1.3 1.6 ArrayIntAsc AddOne 1.3 1.5
ArrayIntAsc AddOne 1.0 1.6 ArrayIntAsc AddOne 1.0 1.6 ListIntAsc AddOne 1.0 1.5
ListIntAsc Init 1.3 2.2 ListIntAsc Init 1.3 2.2 ListIntAsc Init 1.3 2.0
ArrayIntAsc Init 1.0 2.2 ArrayIntAsc Init 1.0 2.2 ArrayIntAsc Init 1.0 2.0
ListStringRnd Init 1.0 2.2 ArrayStringRnd Init 1.0 2.2 ListStringAsc Init 1.0 2.0
ArrayStringRnd Init 1.0 2.2 ListStringRnd Init 1.0 2.2 ListStringRnd Init 1.0 2.0
ListStringAsc Init 1.0 2.3 ArrayStringAsc Init 1.0 2.3 ArrayStringAsc Init 1.0 2.0
ArrayStringAsc Init 1.0 2.3 ListStringAsc Init 1.0 2.3 ArrayStringRnd Init 1.0 2.0


Persistent Vector 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
ArrayStringAsc AddOne - - ListIntAsc Init - - ListIntAsc Init - -
ListIntAsc Init 1.0 1.0 ArrayIntAsc Init 1.0 1.0 ArrayStringAsc Init 1.0 1.0
ArrayIntAsc Init 1.0 1.0 ListStringAsc Init 1.0 1.0 ArrayIntAsc Init 1.0 1.0
ListStringAsc Init 1.0 1.0 ArrayStringAsc Init 1.0 1.0 ListStringAsc Init 1.1 1.1
ListStringRnd Init 1.0 1.1 ListStringRnd Init 1.1 1.1 ArrayStringRnd Init 1.2 1.3
ArrayStringAsc Init 1.0 1.1 ArrayStringRnd Init 1.0 1.1 ListStringRnd Init 1.0 1.3
ArrayStringRnd Init 1.0 1.1 ArrayIntAsc AddOne 28.1 31.8 ArrayIntAsc AddOne 690.5 925.7
ArrayIntRnd AddOne 1.0 1.1 ArrayIntRnd AddOne 1.0 32.3 ArrayIntRnd AddOne 1.0 936.8
ArrayIntAsc AddOne 1.2 1.3 ArrayStringAsc AddOne 1.1 36.8
ListStringAsc AddOne 1.1 1.4 ListIntRnd AddOne 1.4 53.2
ListIntRnd AddOne 1.0 1.4 ListIntAsc AddOne 1.0 53.8
ListIntAsc AddOne 1.2 1.7 ListStringAsc AddOne 1.0 55.1




Scaling Performance -- Action:AddOne

Persistent Vector Initial Data:Integer Array

Size Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd -
10 Asc 1.0 Rnd 1.0
102 Asc 1.1 Rnd 1.2
103 Asc 1.7 Rnd 1.9
104 Asc 34.2 Rnd 40.8
105 Asc 95.6 Rnd 95.4


Persistent Vector Initial Data:String Array

Size Order Time rel to prev increment
1 Asc -
10 Asc 1.0
102 Asc 1.2
103 Asc 2.0
104 Asc 50.4


Persistent Vector Initial Data:Integer List

Size Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd -
10 Asc 1.0 Rnd 1.0
102 Asc 1.2 Rnd 1.2
103 Asc 2.2 Rnd 2.5
104 Asc 43.8 Rnd 52.1


Persistent Vector Initial Data:String List

Size Order Time rel to prev increment
1 Asc -
10 Asc 1.0
102 Asc 1.3
103 Asc 2.7
104 Asc 55.5



Scaling Performance -- Action:Init

Persistent Vector Initial Data:Integer Array

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


Persistent Vector Initial Data:String Array

Size Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd -
10 Asc 1.0 Rnd 1.0
102 Asc 1.1 Rnd 1.1
103 Asc 1.0 Rnd 1.0
104 Asc 1.3 Rnd 1.4
105 Asc 3.2 Rnd 3.8


Persistent Vector Initial Data:Integer List

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


Persistent Vector Initial Data:String List

Size Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd -
10 Asc 1.0 Rnd 1.0
102 Asc 1.1 Rnd 1.1
103 Asc 1.0 Rnd 1.0
104 Asc 1.3 Rnd 1.4
105 Asc 3.5 Rnd 3.9




RealTimeQueue

Back to RealTimeQueue info

Action Definitions

AddOne:
RealTimeQueue.empty into recurse --
RealTimeQueue.snoc next input element


Initial Data Performance


RealTimeQueue 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 AddOne - - ListIntRndDup AddOne - - ListIntRnd AddOne - -
ListIntRndDup AddOne 1.0 1.0 ArrayIntAsc AddOne 1.0 1.0 ArrayIntAsc AddOne 1.0 1.0
ListIntRnd AddOne 1.0 1.0 ListIntRnd AddOne 1.0 1.0 ListIntRndDup AddOne 1.0 1.0
ListIntAsc AddOne 1.0 1.0 ListIntAsc AddOne 1.0 1.0 ListIntAsc AddOne 1.0 1.0
ArrayStringRndDup AddOne 1.1 1.1 ArrayStringRnd AddOne 1.1 1.1 ArrayStringRnd AddOne 1.1 1.1
ArrayStringRnd AddOne 1.0 1.1 ArrayStringAsc AddOne 1.0 1.1 ArrayStringRndDup AddOne 1.0 1.1
ArrayStringAsc AddOne 1.0 1.1 ArrayStringRndDup AddOne 1.0 1.1 ArrayStringAsc AddOne 1.0 1.1
ListStringRnd AddOne 1.0 1.1 ListStringRnddup AddOne 1.0 1.1 ListStringRnddup AddOne 1.0 1.1
ListStringAsc AddOne 1.0 1.1 ListStringRnd AddOne 1.0 1.1 ListStringRnd AddOne 1.0 1.1
ListStringRnddup AddOne 1.0 1.1 ListStringAsc AddOne 1.0 1.1 ListStringAsc AddOne 1.0 1.1

stack overflow at 100,000
RealTimeQueue Size 1,000 - 10,000

Size: 1,000 Size:10,000
InitData Action Time rel to prev increment Time rel to best InitData Action Time rel to prev increment Time rel to best
ArrayIntAsc AddOne - - ListIntRndDup AddOne - -
ListIntAsc AddOne 1.0 1.0 ArrayStringAsc AddOne 1.1 1.1
ListIntRnd AddOne 1.0 1.0 ListStringAsc AddOne 1.0 1.1
ListIntRndDup AddOne 1.0 1.0 ArrayIntAsc AddOne 1.0 1.1
ArrayStringAsc AddOne 1.1 1.1 ListIntAsc AddOne 1.0 1.1
ArrayStringRnd AddOne 1.0 1.1 ListIntRnd AddOne 1.1 1.2
ArrayStringRndDup AddOne 1.0 1.1 ArrayStringRndDup AddOne 1.1 1.3
ListStringAsc AddOne 1.0 1.1 ArrayStringRnd AddOne 1.0 1.3
ListStringRnddup AddOne 1.0 1.1 ListStringRnd AddOne 1.1 1.4
ListStringRnd AddOne 1.0 1.1 ListStringRnddup AddOne 1.0 1.4




Scaling Performance -- Action:AddOne

RealTimeQueue Initial Data:Integer Array

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


RealTimeQueue 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.1 Rnd 1.1 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.5 Rnd 1.8 Rnd Dup 1.8


RealTimeQueue 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.1 Rnd 1.1 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.7 Rnd 1.9 Rnd Dup 1.5


RealTimeQueue 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.1 Rnd 1.1 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.0
104 Asc 1.5 Rnd 1.9 Rnd Dup 1.9




Transient Vector

Back to Vector info

Action Definitions

AddOne:
let mutable v = Vector.TransientVector()
let en = data.GetEnumerator()
while en.MoveNext() do
   v <- v.conj en.Current


Initial Data Performance


Transient Vector 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
ListIntAsc AddOne - - ListIntAsc AddOne - - ListIntAsc AddOne - -
ArrayIntAsc AddOne 1.0 1.0 ListStringRnd AddOne 1.0 1.0 ArrayIntAsc AddOne 1.0 1.0
ListStringRnd AddOne 1.0 1.0 ArrayIntAsc AddOne 1.0 1.0 ArrayStringRnd AddOne 1.0 1.0
ArrayStringRnd AddOne 1.0 1.0 ArrayStringRnd AddOne 1.0 1.0 ListStringRnd AddOne 1.0 1.0
ArrayStringAsc AddOne 1.0 1.0 ArrayStringAsc AddOne 1.0 1.0 ListStringAsc AddOne 1.0 1.0
ListStringAsc AddOne 1.0 1.0 ListStringAsc AddOne 1.0 1.0 ArrayStringAsc AddOne 1.0 1.0


Transient Vector 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
ListIntAsc AddOne - - ListIntAsc AddOne - - ListIntAsc AddOne - -
ArrayIntAsc AddOne 1.0 1.0 ArrayIntAsc AddOne 1.0 1.0 ArrayIntAsc AddOne 1.0 1.0
ListStringAsc AddOne 1.0 1.0 ArrayStringAsc AddOne 1.0 1.0 ArrayStringAsc AddOne 1.0 1.0
ArrayStringRnd AddOne 1.0 1.0 ListStringAsc AddOne 1.0 1.0 ListStringAsc AddOne 1.1 1.1
ArrayStringAsc AddOne 1.0 1.0 ListStringRnd AddOne 1.1 1.1 ArrayStringRnd AddOne 1.2 1.3
ListStringRnd AddOne 1.0 1.0 ArrayStringRnd AddOne 1.0 1.1 ListStringRnd AddOne 1.1 1.5


Transient Vector Size 1,000,000

Size: 1,000,000
InitData Action Time rel to prev increment Time rel to best
ArrayStringAsc AddOne - -
ListStringAsc AddOne 1.1 1.1
ArrayIntAsc AddOne 1.2 1.3
ListIntAsc AddOne 1.1 1.5
ArrayStringRnd AddOne 1.0 1.5
ListStringRnd AddOne 1.1 1.7




Scaling Performance -- Action:AddOne

Transient Vector Initial Data:Integer Array

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


Transient Vector Initial Data:String Array

Size Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd -
10 Asc 1.0 Rnd 1.0
102 Asc 1.2 Rnd 1.2
103 Asc 1.0 Rnd 1.1
104 Asc 1.5 Rnd 1.6
105 Asc 3.9 Rnd 4.5
106 Asc 8.6 Rnd 10.0


Transient Vector Initial Data:Integer List

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


Transient Vector Initial Data:String List

Size Order Time rel to prev increment Order Time rel to prev increment
1 Asc - Rnd -
10 Asc 1.0 Rnd 1.0
102 Asc 1.2 Rnd 1.2
103 Asc 1.0 Rnd 1.1
104 Asc 1.5 Rnd 1.6
105 Asc 4.2 Rnd 5.1
106 Asc 8.7 Rnd 9.8



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>