@epam/uui-db 5.3.0-rc.1 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/benchmark/results/filter.json +39 -0
- package/benchmark/results/pkLookup.json +39 -0
- package/benchmark/results/pkUpdate-10.json +51 -0
- package/benchmark/results/pkUpdate-100.json +51 -0
- package/benchmark/results/pkUpdate-1000.json +51 -0
- package/benchmark/results/pkUpdate-10000.json +51 -0
- package/benchmark/results/pkUpdate-100000.json +51 -0
- package/benchmark/results/pkUpdate-1000000.json +51 -0
- package/benchmark/results/query-10.json +63 -0
- package/benchmark/results/query-100.json +63 -0
- package/benchmark/results/query-1000.json +63 -0
- package/benchmark/results/query-10000.json +63 -0
- package/benchmark/results/query-100000.json +63 -0
- package/benchmark/results/sorting.json +33 -0
- package/build/package.json +69 -0
- package/build/readme.md +17 -0
- package/{stats.html → build/stats.html} +1 -1
- package/globals.d.ts +9 -0
- package/index.tsx +1 -0
- package/package.json +5 -5
- package/src/Db.ts +89 -0
- package/src/DbRef.ts +254 -0
- package/src/DbTable.ts +264 -0
- package/src/IxSet.ts +251 -0
- package/src/ListLoadingTracker.ts +131 -0
- package/src/Loader.ts +96 -0
- package/src/Scheduler.ts +72 -0
- package/src/SimpleLoadingTracker.ts +17 -0
- package/src/__benchmarks__/filter.ts +50 -0
- package/src/__benchmarks__/index.ts +5 -0
- package/src/__benchmarks__/pkLookup.ts +33 -0
- package/src/__benchmarks__/pkUpdate.ts +75 -0
- package/src/__benchmarks__/query.ts +101 -0
- package/src/__benchmarks__/sorting.ts +33 -0
- package/src/__benchmarks__/testData.ts +15 -0
- package/src/__tests__/ListLoadingTracker.test.ts +83 -0
- package/src/__tests__/Scheduler.test.ts +24 -0
- package/src/__tests__/TaskDb.ts +187 -0
- package/src/__tests__/db.test.ts +293 -0
- package/src/__tests__/dbRef.test.ts +100 -0
- package/src/__tests__/dbTable.test.ts +15 -0
- package/src/__tests__/dbViews.test.ts +76 -0
- package/src/__tests__/ixSet.perf.test.ts +129 -0
- package/src/__tests__/ixSet.test.ts +73 -0
- package/src/__tests__/listLoader.test.ts +85 -0
- package/src/__tests__/loader.test.ts +92 -0
- package/src/__tests__/patchHelpers.test.ts +202 -0
- package/src/__tests__/tempIds.test.ts +98 -0
- package/src/index.ts +8 -0
- package/src/patchHelpers.ts +254 -0
- package/src/reactHooks.ts +28 -0
- package/src/tempIds.tsx +236 -0
- package/src/types.ts +126 -0
- package/src/utils.ts +34 -0
- package/tsconfig.json +12 -0
- /package/{index.d.ts → build/index.d.ts} +0 -0
- /package/{index.d.ts.map → build/index.d.ts.map} +0 -0
- /package/{index.esm.js → build/index.esm.js} +0 -0
- /package/{index.esm.js.map → build/index.esm.js.map} +0 -0
- /package/{index.js → build/index.js} +0 -0
- /package/{index.js.map → build/index.js.map} +0 -0
- /package/{src → build/src}/Db.d.ts +0 -0
- /package/{src → build/src}/Db.d.ts.map +0 -0
- /package/{src → build/src}/DbRef.d.ts +0 -0
- /package/{src → build/src}/DbRef.d.ts.map +0 -0
- /package/{src → build/src}/DbTable.d.ts +0 -0
- /package/{src → build/src}/DbTable.d.ts.map +0 -0
- /package/{src → build/src}/IxSet.d.ts +0 -0
- /package/{src → build/src}/IxSet.d.ts.map +0 -0
- /package/{src → build/src}/ListLoadingTracker.d.ts +0 -0
- /package/{src → build/src}/ListLoadingTracker.d.ts.map +0 -0
- /package/{src → build/src}/Loader.d.ts +0 -0
- /package/{src → build/src}/Loader.d.ts.map +0 -0
- /package/{src → build/src}/Scheduler.d.ts +0 -0
- /package/{src → build/src}/Scheduler.d.ts.map +0 -0
- /package/{src → build/src}/SimpleLoadingTracker.d.ts +0 -0
- /package/{src → build/src}/SimpleLoadingTracker.d.ts.map +0 -0
- /package/{src → build/src}/__benchmarks__/filter.d.ts +0 -0
- /package/{src → build/src}/__benchmarks__/filter.d.ts.map +0 -0
- /package/{src → build/src}/__benchmarks__/index.d.ts +0 -0
- /package/{src → build/src}/__benchmarks__/index.d.ts.map +0 -0
- /package/{src → build/src}/__benchmarks__/pkLookup.d.ts +0 -0
- /package/{src → build/src}/__benchmarks__/pkLookup.d.ts.map +0 -0
- /package/{src → build/src}/__benchmarks__/pkUpdate.d.ts +0 -0
- /package/{src → build/src}/__benchmarks__/pkUpdate.d.ts.map +0 -0
- /package/{src → build/src}/__benchmarks__/query.d.ts +0 -0
- /package/{src → build/src}/__benchmarks__/query.d.ts.map +0 -0
- /package/{src → build/src}/__benchmarks__/sorting.d.ts +0 -0
- /package/{src → build/src}/__benchmarks__/sorting.d.ts.map +0 -0
- /package/{src → build/src}/__benchmarks__/testData.d.ts +0 -0
- /package/{src → build/src}/__benchmarks__/testData.d.ts.map +0 -0
- /package/{src → build/src}/index.d.ts +0 -0
- /package/{src → build/src}/index.d.ts.map +0 -0
- /package/{src → build/src}/patchHelpers.d.ts +0 -0
- /package/{src → build/src}/patchHelpers.d.ts.map +0 -0
- /package/{src → build/src}/reactHooks.d.ts +0 -0
- /package/{src → build/src}/reactHooks.d.ts.map +0 -0
- /package/{src → build/src}/tempIds.d.ts +0 -0
- /package/{src → build/src}/tempIds.d.ts.map +0 -0
- /package/{src → build/src}/types.d.ts +0 -0
- /package/{src → build/src}/types.d.ts.map +0 -0
- /package/{src → build/src}/utils.d.ts +0 -0
- /package/{src → build/src}/utils.d.ts.map +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Filter array",
|
|
3
|
+
"date": "2020-04-27T23:32:22.860Z",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"results": [
|
|
6
|
+
{
|
|
7
|
+
"name": "array.filter, hard-coded",
|
|
8
|
+
"ops": 12955,
|
|
9
|
+
"margin": 15.71,
|
|
10
|
+
"percentSlower": 65.61
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "for-loop, array.push, hard-coded",
|
|
14
|
+
"ops": 37675,
|
|
15
|
+
"margin": 5.39,
|
|
16
|
+
"percentSlower": 0
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "array.filter, getPatternPredicate",
|
|
20
|
+
"ops": 5177,
|
|
21
|
+
"margin": 5.97,
|
|
22
|
+
"percentSlower": 86.26
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "for-loop, array.push, getPatternPredicate",
|
|
26
|
+
"ops": 8475,
|
|
27
|
+
"margin": 2.9,
|
|
28
|
+
"percentSlower": 77.5
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"fastest": {
|
|
32
|
+
"name": "for-loop, array.push, hard-coded",
|
|
33
|
+
"index": 1
|
|
34
|
+
},
|
|
35
|
+
"slowest": {
|
|
36
|
+
"name": "array.filter, getPatternPredicate",
|
|
37
|
+
"index": 2
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Find 1 entity by number ID in 100k dataset",
|
|
3
|
+
"date": "2020-04-27T20:11:04.585Z",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"results": [
|
|
6
|
+
{
|
|
7
|
+
"name": "IxSet.byId",
|
|
8
|
+
"ops": 3014117,
|
|
9
|
+
"margin": 1.7,
|
|
10
|
+
"percentSlower": 96.31
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "Map.get",
|
|
14
|
+
"ops": 63124014,
|
|
15
|
+
"margin": 4.62,
|
|
16
|
+
"percentSlower": 22.77
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "hash[id]",
|
|
20
|
+
"ops": 81740079,
|
|
21
|
+
"margin": 5.07,
|
|
22
|
+
"percentSlower": 0
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "I.Map.get(id)",
|
|
26
|
+
"ops": 16012303,
|
|
27
|
+
"margin": 4.65,
|
|
28
|
+
"percentSlower": 80.41
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"fastest": {
|
|
32
|
+
"name": "hash[id]",
|
|
33
|
+
"index": 2
|
|
34
|
+
},
|
|
35
|
+
"slowest": {
|
|
36
|
+
"name": "IxSet.byId",
|
|
37
|
+
"index": 0
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Update 1 entity in 10 dataset",
|
|
3
|
+
"date": "2020-06-10T00:20:29.497Z",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"results": [
|
|
6
|
+
{
|
|
7
|
+
"name": "BTree - with()",
|
|
8
|
+
"ops": 2978705,
|
|
9
|
+
"margin": 5.01,
|
|
10
|
+
"percentSlower": 5.35
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "Map - clone with Map(previous)",
|
|
14
|
+
"ops": 558526,
|
|
15
|
+
"margin": 1.7,
|
|
16
|
+
"percentSlower": 82.25
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "hash - spread clone",
|
|
20
|
+
"ops": 249073,
|
|
21
|
+
"margin": 2.34,
|
|
22
|
+
"percentSlower": 92.09
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "I.Map.set(id)",
|
|
26
|
+
"ops": 3147234,
|
|
27
|
+
"margin": 2.66,
|
|
28
|
+
"percentSlower": 0
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "DbTable with single index",
|
|
32
|
+
"ops": 123277,
|
|
33
|
+
"margin": 1.75,
|
|
34
|
+
"percentSlower": 96.08
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "IxSet (with two indexes)",
|
|
38
|
+
"ops": 162927,
|
|
39
|
+
"margin": 25.12,
|
|
40
|
+
"percentSlower": 94.82
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"fastest": {
|
|
44
|
+
"name": "I.Map.set(id)",
|
|
45
|
+
"index": 3
|
|
46
|
+
},
|
|
47
|
+
"slowest": {
|
|
48
|
+
"name": "DbTable with single index",
|
|
49
|
+
"index": 4
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Update 1 entity in 100 dataset",
|
|
3
|
+
"date": "2020-06-10T00:21:03.138Z",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"results": [
|
|
6
|
+
{
|
|
7
|
+
"name": "BTree - with()",
|
|
8
|
+
"ops": 116933,
|
|
9
|
+
"margin": 27.23,
|
|
10
|
+
"percentSlower": 88.14
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "Map - clone with Map(previous)",
|
|
14
|
+
"ops": 20471,
|
|
15
|
+
"margin": 6.95,
|
|
16
|
+
"percentSlower": 97.92
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "hash - spread clone",
|
|
20
|
+
"ops": 27429,
|
|
21
|
+
"margin": 3.1,
|
|
22
|
+
"percentSlower": 97.22
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "I.Map.set(id)",
|
|
26
|
+
"ops": 986259,
|
|
27
|
+
"margin": 5.65,
|
|
28
|
+
"percentSlower": 0
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "DbTable with single index",
|
|
32
|
+
"ops": 75562,
|
|
33
|
+
"margin": 6.54,
|
|
34
|
+
"percentSlower": 92.34
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "IxSet (with two indexes)",
|
|
38
|
+
"ops": 83516,
|
|
39
|
+
"margin": 26.11,
|
|
40
|
+
"percentSlower": 91.53
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"fastest": {
|
|
44
|
+
"name": "I.Map.set(id)",
|
|
45
|
+
"index": 3
|
|
46
|
+
},
|
|
47
|
+
"slowest": {
|
|
48
|
+
"name": "Map - clone with Map(previous)",
|
|
49
|
+
"index": 1
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Update 1 entity in 1000 dataset",
|
|
3
|
+
"date": "2020-06-10T00:21:35.702Z",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"results": [
|
|
6
|
+
{
|
|
7
|
+
"name": "BTree - with()",
|
|
8
|
+
"ops": 706207,
|
|
9
|
+
"margin": 3.35,
|
|
10
|
+
"percentSlower": 47.66
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "Map - clone with Map(previous)",
|
|
14
|
+
"ops": 6183,
|
|
15
|
+
"margin": 3.88,
|
|
16
|
+
"percentSlower": 99.54
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "hash - spread clone",
|
|
20
|
+
"ops": 3288,
|
|
21
|
+
"margin": 3.91,
|
|
22
|
+
"percentSlower": 99.76
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "I.Map.set(id)",
|
|
26
|
+
"ops": 1349376,
|
|
27
|
+
"margin": 1.17,
|
|
28
|
+
"percentSlower": 0
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "DbTable with single index",
|
|
32
|
+
"ops": 98738,
|
|
33
|
+
"margin": 2.06,
|
|
34
|
+
"percentSlower": 92.68
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "IxSet (with two indexes)",
|
|
38
|
+
"ops": 104055,
|
|
39
|
+
"margin": 1.43,
|
|
40
|
+
"percentSlower": 92.29
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"fastest": {
|
|
44
|
+
"name": "I.Map.set(id)",
|
|
45
|
+
"index": 3
|
|
46
|
+
},
|
|
47
|
+
"slowest": {
|
|
48
|
+
"name": "hash - spread clone",
|
|
49
|
+
"index": 2
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Update 1 entity in 10000 dataset",
|
|
3
|
+
"date": "2020-06-10T00:22:08.281Z",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"results": [
|
|
6
|
+
{
|
|
7
|
+
"name": "BTree - with()",
|
|
8
|
+
"ops": 610968,
|
|
9
|
+
"margin": 2.12,
|
|
10
|
+
"percentSlower": 44.02
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "Map - clone with Map(previous)",
|
|
14
|
+
"ops": 507,
|
|
15
|
+
"margin": 5.07,
|
|
16
|
+
"percentSlower": 99.95
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "hash - spread clone",
|
|
20
|
+
"ops": 328,
|
|
21
|
+
"margin": 1.71,
|
|
22
|
+
"percentSlower": 99.97
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "I.Map.set(id)",
|
|
26
|
+
"ops": 1091307,
|
|
27
|
+
"margin": 1.31,
|
|
28
|
+
"percentSlower": 0
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "DbTable with single index",
|
|
32
|
+
"ops": 97578,
|
|
33
|
+
"margin": 1.23,
|
|
34
|
+
"percentSlower": 91.06
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "IxSet (with two indexes)",
|
|
38
|
+
"ops": 82949,
|
|
39
|
+
"margin": 1.49,
|
|
40
|
+
"percentSlower": 92.4
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"fastest": {
|
|
44
|
+
"name": "I.Map.set(id)",
|
|
45
|
+
"index": 3
|
|
46
|
+
},
|
|
47
|
+
"slowest": {
|
|
48
|
+
"name": "hash - spread clone",
|
|
49
|
+
"index": 2
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Update 1 entity in 100000 dataset",
|
|
3
|
+
"date": "2020-06-10T00:22:41.377Z",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"results": [
|
|
6
|
+
{
|
|
7
|
+
"name": "BTree - with()",
|
|
8
|
+
"ops": 466581,
|
|
9
|
+
"margin": 3.57,
|
|
10
|
+
"percentSlower": 45.49
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "Map - clone with Map(previous)",
|
|
14
|
+
"ops": 22,
|
|
15
|
+
"margin": 76.74,
|
|
16
|
+
"percentSlower": 100
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "hash - spread clone",
|
|
20
|
+
"ops": 28,
|
|
21
|
+
"margin": 2.62,
|
|
22
|
+
"percentSlower": 100
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "I.Map.set(id)",
|
|
26
|
+
"ops": 856025,
|
|
27
|
+
"margin": 1.22,
|
|
28
|
+
"percentSlower": 0
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "DbTable with single index",
|
|
32
|
+
"ops": 95420,
|
|
33
|
+
"margin": 1.21,
|
|
34
|
+
"percentSlower": 88.85
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "IxSet (with two indexes)",
|
|
38
|
+
"ops": 66891,
|
|
39
|
+
"margin": 1.96,
|
|
40
|
+
"percentSlower": 92.19
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"fastest": {
|
|
44
|
+
"name": "I.Map.set(id)",
|
|
45
|
+
"index": 3
|
|
46
|
+
},
|
|
47
|
+
"slowest": {
|
|
48
|
+
"name": "Map - clone with Map(previous)",
|
|
49
|
+
"index": 1
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Update 1 entity in 1000000 dataset",
|
|
3
|
+
"date": "2020-06-10T00:23:23.627Z",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"results": [
|
|
6
|
+
{
|
|
7
|
+
"name": "BTree - with()",
|
|
8
|
+
"ops": 426540,
|
|
9
|
+
"margin": 2.93,
|
|
10
|
+
"percentSlower": 49.03
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "Map - clone with Map(previous)",
|
|
14
|
+
"ops": 2,
|
|
15
|
+
"margin": 41.32,
|
|
16
|
+
"percentSlower": 100
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "hash - spread clone",
|
|
20
|
+
"ops": 1,
|
|
21
|
+
"margin": 31.08,
|
|
22
|
+
"percentSlower": 100
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "I.Map.set(id)",
|
|
26
|
+
"ops": 836796,
|
|
27
|
+
"margin": 1.77,
|
|
28
|
+
"percentSlower": 0
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "DbTable with single index",
|
|
32
|
+
"ops": 92720,
|
|
33
|
+
"margin": 1.45,
|
|
34
|
+
"percentSlower": 88.92
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "IxSet (with two indexes)",
|
|
38
|
+
"ops": 55331,
|
|
39
|
+
"margin": 1.37,
|
|
40
|
+
"percentSlower": 93.39
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"fastest": {
|
|
44
|
+
"name": "I.Map.set(id)",
|
|
45
|
+
"index": 3
|
|
46
|
+
},
|
|
47
|
+
"slowest": {
|
|
48
|
+
"name": "hash - spread clone",
|
|
49
|
+
"index": 2
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Find N entities in 10 dataset by departmentId, sorted by name",
|
|
3
|
+
"date": "2020-06-10T00:28:09.339Z",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"results": [
|
|
6
|
+
{
|
|
7
|
+
"name": "Array - scan",
|
|
8
|
+
"ops": 3479592,
|
|
9
|
+
"margin": 1.52,
|
|
10
|
+
"percentSlower": 84.09
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "Array - with filterPredicate/orderComparer",
|
|
14
|
+
"ops": 21875683,
|
|
15
|
+
"margin": 1.42,
|
|
16
|
+
"percentSlower": 0
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "BTree - toArray/scan",
|
|
20
|
+
"ops": 4114655,
|
|
21
|
+
"margin": 1.38,
|
|
22
|
+
"percentSlower": 81.19
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "I.Map - iterable.filter.sort, then toArray",
|
|
26
|
+
"ops": 535956,
|
|
27
|
+
"margin": 1.05,
|
|
28
|
+
"percentSlower": 97.55
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "I.Map - toArray, then filter/sort",
|
|
32
|
+
"ops": 699351,
|
|
33
|
+
"margin": 1.27,
|
|
34
|
+
"percentSlower": 96.8
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "IxSet - with indexes",
|
|
38
|
+
"ops": 467251,
|
|
39
|
+
"margin": 1.09,
|
|
40
|
+
"percentSlower": 97.86
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "IxSet - no indexes",
|
|
44
|
+
"ops": 538732,
|
|
45
|
+
"margin": 1.15,
|
|
46
|
+
"percentSlower": 97.54
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "DbTable - with index",
|
|
50
|
+
"ops": 2155399,
|
|
51
|
+
"margin": 1.05,
|
|
52
|
+
"percentSlower": 90.15
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"fastest": {
|
|
56
|
+
"name": "Array - with filterPredicate/orderComparer",
|
|
57
|
+
"index": 1
|
|
58
|
+
},
|
|
59
|
+
"slowest": {
|
|
60
|
+
"name": "IxSet - with indexes",
|
|
61
|
+
"index": 5
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Find N entities in 100 dataset by departmentId, sorted by name",
|
|
3
|
+
"date": "2020-06-10T00:28:52.940Z",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"results": [
|
|
6
|
+
{
|
|
7
|
+
"name": "Array - scan",
|
|
8
|
+
"ops": 355697,
|
|
9
|
+
"margin": 2.46,
|
|
10
|
+
"percentSlower": 82.82
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "Array - with filterPredicate/orderComparer",
|
|
14
|
+
"ops": 384547,
|
|
15
|
+
"margin": 2.49,
|
|
16
|
+
"percentSlower": 81.42
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "BTree - toArray/scan",
|
|
20
|
+
"ops": 194568,
|
|
21
|
+
"margin": 1.36,
|
|
22
|
+
"percentSlower": 90.6
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "I.Map - iterable.filter.sort, then toArray",
|
|
26
|
+
"ops": 69682,
|
|
27
|
+
"margin": 1.16,
|
|
28
|
+
"percentSlower": 96.63
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "I.Map - toArray, then filter/sort",
|
|
32
|
+
"ops": 118575,
|
|
33
|
+
"margin": 1.25,
|
|
34
|
+
"percentSlower": 94.27
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "IxSet - with indexes",
|
|
38
|
+
"ops": 183918,
|
|
39
|
+
"margin": 1.28,
|
|
40
|
+
"percentSlower": 91.12
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "IxSet - no indexes",
|
|
44
|
+
"ops": 173263,
|
|
45
|
+
"margin": 1.08,
|
|
46
|
+
"percentSlower": 91.63
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "DbTable - with index",
|
|
50
|
+
"ops": 2070193,
|
|
51
|
+
"margin": 1.28,
|
|
52
|
+
"percentSlower": 0
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"fastest": {
|
|
56
|
+
"name": "DbTable - with index",
|
|
57
|
+
"index": 7
|
|
58
|
+
},
|
|
59
|
+
"slowest": {
|
|
60
|
+
"name": "I.Map - iterable.filter.sort, then toArray",
|
|
61
|
+
"index": 3
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Find N entities in 1000 dataset by departmentId, sorted by name",
|
|
3
|
+
"date": "2020-06-10T00:29:36.431Z",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"results": [
|
|
6
|
+
{
|
|
7
|
+
"name": "Array - scan",
|
|
8
|
+
"ops": 278416,
|
|
9
|
+
"margin": 2.35,
|
|
10
|
+
"percentSlower": 87.88
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "Array - with filterPredicate/orderComparer",
|
|
14
|
+
"ops": 68167,
|
|
15
|
+
"margin": 3.37,
|
|
16
|
+
"percentSlower": 97.03
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "BTree - toArray/scan",
|
|
20
|
+
"ops": 23840,
|
|
21
|
+
"margin": 2.65,
|
|
22
|
+
"percentSlower": 98.96
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "I.Map - iterable.filter.sort, then toArray",
|
|
26
|
+
"ops": 22083,
|
|
27
|
+
"margin": 1.73,
|
|
28
|
+
"percentSlower": 99.04
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "I.Map - toArray, then filter/sort",
|
|
32
|
+
"ops": 17308,
|
|
33
|
+
"margin": 1.21,
|
|
34
|
+
"percentSlower": 99.25
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "IxSet - with indexes",
|
|
38
|
+
"ops": 184695,
|
|
39
|
+
"margin": 1.28,
|
|
40
|
+
"percentSlower": 91.96
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "IxSet - no indexes",
|
|
44
|
+
"ops": 21450,
|
|
45
|
+
"margin": 1.04,
|
|
46
|
+
"percentSlower": 99.07
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "DbTable - with index",
|
|
50
|
+
"ops": 2298027,
|
|
51
|
+
"margin": 1.28,
|
|
52
|
+
"percentSlower": 0
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"fastest": {
|
|
56
|
+
"name": "DbTable - with index",
|
|
57
|
+
"index": 7
|
|
58
|
+
},
|
|
59
|
+
"slowest": {
|
|
60
|
+
"name": "I.Map - toArray, then filter/sort",
|
|
61
|
+
"index": 4
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Find N entities in 10000 dataset by departmentId, sorted by name",
|
|
3
|
+
"date": "2020-06-10T00:30:19.909Z",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"results": [
|
|
6
|
+
{
|
|
7
|
+
"name": "Array - scan",
|
|
8
|
+
"ops": 27704,
|
|
9
|
+
"margin": 3.13,
|
|
10
|
+
"percentSlower": 98.71
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "Array - with filterPredicate/orderComparer",
|
|
14
|
+
"ops": 6806,
|
|
15
|
+
"margin": 3.02,
|
|
16
|
+
"percentSlower": 99.68
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "BTree - toArray/scan",
|
|
20
|
+
"ops": 2544,
|
|
21
|
+
"margin": 1.27,
|
|
22
|
+
"percentSlower": 99.88
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "I.Map - iterable.filter.sort, then toArray",
|
|
26
|
+
"ops": 2458,
|
|
27
|
+
"margin": 1.39,
|
|
28
|
+
"percentSlower": 99.89
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "I.Map - toArray, then filter/sort",
|
|
32
|
+
"ops": 1783,
|
|
33
|
+
"margin": 1.51,
|
|
34
|
+
"percentSlower": 99.92
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "IxSet - with indexes",
|
|
38
|
+
"ops": 118744,
|
|
39
|
+
"margin": 1.19,
|
|
40
|
+
"percentSlower": 94.49
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "IxSet - no indexes",
|
|
44
|
+
"ops": 2063,
|
|
45
|
+
"margin": 3.59,
|
|
46
|
+
"percentSlower": 99.9
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "DbTable - with index",
|
|
50
|
+
"ops": 2154284,
|
|
51
|
+
"margin": 1.22,
|
|
52
|
+
"percentSlower": 0
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"fastest": {
|
|
56
|
+
"name": "DbTable - with index",
|
|
57
|
+
"index": 7
|
|
58
|
+
},
|
|
59
|
+
"slowest": {
|
|
60
|
+
"name": "I.Map - toArray, then filter/sort",
|
|
61
|
+
"index": 4
|
|
62
|
+
}
|
|
63
|
+
}
|