Back to FSharpx.DataStructures
Performance Metric Tables Methodology
Reading the Data Structure Performance Tables
Index to Initial Data Performance MetricsBootstrappedQueue Initial Data Performance
DList Initial Data Performance
ImplicitQueue Initial Data Performance
Persistent Vector Initial Data Performance
RealTimeQueue Initial Data Performance
Transient Vector Initial Data Performance
BootstrappedQueue Scaling Performance
ImplicitQueue Scaling Performance
Persistent Vector Scaling Performance
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 |
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 |