@epam/uui-db 5.3.0-rc.0 → 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.
Files changed (103) hide show
  1. package/benchmark/results/filter.json +39 -0
  2. package/benchmark/results/pkLookup.json +39 -0
  3. package/benchmark/results/pkUpdate-10.json +51 -0
  4. package/benchmark/results/pkUpdate-100.json +51 -0
  5. package/benchmark/results/pkUpdate-1000.json +51 -0
  6. package/benchmark/results/pkUpdate-10000.json +51 -0
  7. package/benchmark/results/pkUpdate-100000.json +51 -0
  8. package/benchmark/results/pkUpdate-1000000.json +51 -0
  9. package/benchmark/results/query-10.json +63 -0
  10. package/benchmark/results/query-100.json +63 -0
  11. package/benchmark/results/query-1000.json +63 -0
  12. package/benchmark/results/query-10000.json +63 -0
  13. package/benchmark/results/query-100000.json +63 -0
  14. package/benchmark/results/sorting.json +33 -0
  15. package/build/package.json +69 -0
  16. package/build/readme.md +17 -0
  17. package/{stats.html → build/stats.html} +1 -1
  18. package/globals.d.ts +9 -0
  19. package/index.tsx +1 -0
  20. package/package.json +4 -4
  21. package/src/Db.ts +89 -0
  22. package/src/DbRef.ts +254 -0
  23. package/src/DbTable.ts +264 -0
  24. package/src/IxSet.ts +251 -0
  25. package/src/ListLoadingTracker.ts +131 -0
  26. package/src/Loader.ts +96 -0
  27. package/src/Scheduler.ts +72 -0
  28. package/src/SimpleLoadingTracker.ts +17 -0
  29. package/src/__benchmarks__/filter.ts +50 -0
  30. package/src/__benchmarks__/index.ts +5 -0
  31. package/src/__benchmarks__/pkLookup.ts +33 -0
  32. package/src/__benchmarks__/pkUpdate.ts +75 -0
  33. package/src/__benchmarks__/query.ts +101 -0
  34. package/src/__benchmarks__/sorting.ts +33 -0
  35. package/src/__benchmarks__/testData.ts +15 -0
  36. package/src/__tests__/ListLoadingTracker.test.ts +83 -0
  37. package/src/__tests__/Scheduler.test.ts +24 -0
  38. package/src/__tests__/TaskDb.ts +187 -0
  39. package/src/__tests__/db.test.ts +293 -0
  40. package/src/__tests__/dbRef.test.ts +100 -0
  41. package/src/__tests__/dbTable.test.ts +15 -0
  42. package/src/__tests__/dbViews.test.ts +76 -0
  43. package/src/__tests__/ixSet.perf.test.ts +129 -0
  44. package/src/__tests__/ixSet.test.ts +73 -0
  45. package/src/__tests__/listLoader.test.ts +85 -0
  46. package/src/__tests__/loader.test.ts +92 -0
  47. package/src/__tests__/patchHelpers.test.ts +202 -0
  48. package/src/__tests__/tempIds.test.ts +98 -0
  49. package/src/index.ts +8 -0
  50. package/src/patchHelpers.ts +254 -0
  51. package/src/reactHooks.ts +28 -0
  52. package/src/tempIds.tsx +236 -0
  53. package/src/types.ts +126 -0
  54. package/src/utils.ts +34 -0
  55. package/tsconfig.json +12 -0
  56. /package/{index.d.ts → build/index.d.ts} +0 -0
  57. /package/{index.d.ts.map → build/index.d.ts.map} +0 -0
  58. /package/{index.esm.js → build/index.esm.js} +0 -0
  59. /package/{index.esm.js.map → build/index.esm.js.map} +0 -0
  60. /package/{index.js → build/index.js} +0 -0
  61. /package/{index.js.map → build/index.js.map} +0 -0
  62. /package/{src → build/src}/Db.d.ts +0 -0
  63. /package/{src → build/src}/Db.d.ts.map +0 -0
  64. /package/{src → build/src}/DbRef.d.ts +0 -0
  65. /package/{src → build/src}/DbRef.d.ts.map +0 -0
  66. /package/{src → build/src}/DbTable.d.ts +0 -0
  67. /package/{src → build/src}/DbTable.d.ts.map +0 -0
  68. /package/{src → build/src}/IxSet.d.ts +0 -0
  69. /package/{src → build/src}/IxSet.d.ts.map +0 -0
  70. /package/{src → build/src}/ListLoadingTracker.d.ts +0 -0
  71. /package/{src → build/src}/ListLoadingTracker.d.ts.map +0 -0
  72. /package/{src → build/src}/Loader.d.ts +0 -0
  73. /package/{src → build/src}/Loader.d.ts.map +0 -0
  74. /package/{src → build/src}/Scheduler.d.ts +0 -0
  75. /package/{src → build/src}/Scheduler.d.ts.map +0 -0
  76. /package/{src → build/src}/SimpleLoadingTracker.d.ts +0 -0
  77. /package/{src → build/src}/SimpleLoadingTracker.d.ts.map +0 -0
  78. /package/{src → build/src}/__benchmarks__/filter.d.ts +0 -0
  79. /package/{src → build/src}/__benchmarks__/filter.d.ts.map +0 -0
  80. /package/{src → build/src}/__benchmarks__/index.d.ts +0 -0
  81. /package/{src → build/src}/__benchmarks__/index.d.ts.map +0 -0
  82. /package/{src → build/src}/__benchmarks__/pkLookup.d.ts +0 -0
  83. /package/{src → build/src}/__benchmarks__/pkLookup.d.ts.map +0 -0
  84. /package/{src → build/src}/__benchmarks__/pkUpdate.d.ts +0 -0
  85. /package/{src → build/src}/__benchmarks__/pkUpdate.d.ts.map +0 -0
  86. /package/{src → build/src}/__benchmarks__/query.d.ts +0 -0
  87. /package/{src → build/src}/__benchmarks__/query.d.ts.map +0 -0
  88. /package/{src → build/src}/__benchmarks__/sorting.d.ts +0 -0
  89. /package/{src → build/src}/__benchmarks__/sorting.d.ts.map +0 -0
  90. /package/{src → build/src}/__benchmarks__/testData.d.ts +0 -0
  91. /package/{src → build/src}/__benchmarks__/testData.d.ts.map +0 -0
  92. /package/{src → build/src}/index.d.ts +0 -0
  93. /package/{src → build/src}/index.d.ts.map +0 -0
  94. /package/{src → build/src}/patchHelpers.d.ts +0 -0
  95. /package/{src → build/src}/patchHelpers.d.ts.map +0 -0
  96. /package/{src → build/src}/reactHooks.d.ts +0 -0
  97. /package/{src → build/src}/reactHooks.d.ts.map +0 -0
  98. /package/{src → build/src}/tempIds.d.ts +0 -0
  99. /package/{src → build/src}/tempIds.d.ts.map +0 -0
  100. /package/{src → build/src}/types.d.ts +0 -0
  101. /package/{src → build/src}/types.d.ts.map +0 -0
  102. /package/{src → build/src}/utils.d.ts +0 -0
  103. /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
+ }