com.wallstop-studios.unity-helpers 2.0.0 → 2.0.1
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/.github/workflows/format-on-demand.yml +2 -2
- package/.github/workflows/markdown-json.yml +1 -1
- package/.github/workflows/npm-publish.yml +1 -1
- package/.github/workflows/prettier-autofix.yml +4 -4
- package/.github/workflows/yaml-format-lint.yml +1 -1
- package/Docs/EFFECTS_SYSTEM.md +1316 -0
- package/{EFFECTS_SYSTEM_TUTORIAL.md → Docs/EFFECTS_SYSTEM_TUTORIAL.md} +1 -1
- package/{GETTING_STARTED.md → Docs/GETTING_STARTED.md} +10 -8
- package/{GLOSSARY.md → Docs/GLOSSARY.md} +4 -4
- package/Docs/HELPER_UTILITIES.md +885 -0
- package/Docs/HELPER_UTILITIES.md.meta +7 -0
- package/{INDEX.md → Docs/INDEX.md} +107 -62
- package/Docs/MATH_AND_EXTENSIONS.md +1039 -0
- package/{RANDOM_PERFORMANCE.md → Docs/RANDOM_PERFORMANCE.md} +15 -15
- package/{RELATIONAL_COMPONENTS.md → Docs/RELATIONAL_COMPONENTS.md} +21 -3
- package/{SPATIAL_TREES_2D_GUIDE.md → Docs/SPATIAL_TREES_2D_GUIDE.md} +2 -2
- package/{SPATIAL_TREES_3D_GUIDE.md → Docs/SPATIAL_TREES_3D_GUIDE.md} +1 -1
- package/{SPATIAL_TREE_2D_PERFORMANCE.md → Docs/SPATIAL_TREE_2D_PERFORMANCE.md} +64 -64
- package/{SPATIAL_TREE_3D_PERFORMANCE.md → Docs/SPATIAL_TREE_3D_PERFORMANCE.md} +64 -64
- package/Docs/UTILITY_COMPONENTS.md +906 -0
- package/Docs/UTILITY_COMPONENTS.md.meta +7 -0
- package/Docs/VISUAL_COMPONENTS.md +337 -0
- package/Docs/VISUAL_COMPONENTS.md.meta +7 -0
- package/Editor/Sprites/AnimationCopier.cs +3 -3
- package/README.md +69 -62
- package/Runtime/AssemblyInfo.cs +2 -0
- package/Runtime/Core/DataStructure/KDTree3D.cs +1 -1
- package/Runtime/Core/DataStructure/OctTree3D.cs +1 -1
- package/Runtime/Core/Extension/AsyncOperationExtensions.cs +122 -0
- package/Runtime/Core/Serialization/ProtobufUnitySurrogates.cs +24 -29
- package/Runtime/Integrations/Reflex/AssemblyInfo.cs +7 -0
- package/Runtime/Integrations/Reflex/AssemblyInfo.cs.meta +11 -0
- package/Runtime/Integrations/Reflex/ContainerRelationalExtensions.cs +198 -0
- package/Runtime/Integrations/Reflex/ContainerRelationalExtensions.cs.meta +11 -0
- package/Runtime/Integrations/Reflex/RelationalComponentsInstaller.cs +86 -0
- package/Runtime/Integrations/Reflex/RelationalComponentsInstaller.cs.meta +11 -0
- package/Runtime/Integrations/Reflex/RelationalReflexSceneBootstrapper.cs +316 -0
- package/Runtime/Integrations/Reflex/RelationalReflexSceneBootstrapper.cs.meta +11 -0
- package/Runtime/Integrations/Reflex/RelationalSceneAssignmentOptions.cs +86 -0
- package/Runtime/Integrations/Reflex/RelationalSceneAssignmentOptions.cs.meta +11 -0
- package/Runtime/Integrations/Reflex/WallstopStudios.UnityHelpers.Integration.Reflex.asmdef +20 -0
- package/Runtime/Integrations/Reflex/WallstopStudios.UnityHelpers.Integration.Reflex.asmdef.meta +7 -0
- package/Runtime/Integrations/Reflex.meta +8 -0
- package/Runtime/Utils/ScriptableObjectSingleton.cs +1 -1
- package/Samples~/DI - Reflex/README.md +527 -0
- package/Samples~/DI - Reflex/README.md.meta +7 -0
- package/Samples~/DI - Reflex/Scripts/ReflexPaletteService.cs +36 -0
- package/Samples~/DI - Reflex/Scripts/ReflexPaletteService.cs.meta +11 -0
- package/Samples~/DI - Reflex/Scripts/ReflexRelationalConsumer.cs +79 -0
- package/Samples~/DI - Reflex/Scripts/ReflexRelationalConsumer.cs.meta +11 -0
- package/Samples~/DI - Reflex/Scripts/ReflexSampleInstaller.cs +30 -0
- package/Samples~/DI - Reflex/Scripts/ReflexSampleInstaller.cs.meta +11 -0
- package/Samples~/DI - Reflex/Scripts/ReflexSpawner.cs +79 -0
- package/Samples~/DI - Reflex/Scripts/ReflexSpawner.cs.meta +11 -0
- package/Samples~/DI - Reflex/Scripts/Samples.UnityHelpers.DI.Reflex.asmdef +26 -0
- package/Samples~/DI - Reflex/Scripts/Samples.UnityHelpers.DI.Reflex.asmdef.meta +9 -0
- package/Samples~/DI - Reflex/Scripts.meta +8 -0
- package/Samples~/DI - Reflex.meta +8 -0
- package/Samples~/DI - VContainer/README.md +6 -5
- package/Samples~/DI - Zenject/README.md +6 -5
- package/Tests/Editor/Core/Attributes/RelationalComponentAssignerTests.cs +29 -31
- package/Tests/Editor/Integrations/Reflex/ReflexIntegrationCompilationTests.cs +41 -0
- package/Tests/Editor/Integrations/Reflex/ReflexIntegrationCompilationTests.cs.meta +11 -0
- package/Tests/Editor/Integrations/Reflex/WallstopStudios.UnityHelpers.Tests.Editor.Reflex.asmdef +27 -0
- package/Tests/Editor/Integrations/Reflex/WallstopStudios.UnityHelpers.Tests.Editor.Reflex.asmdef.meta +7 -0
- package/Tests/Editor/Integrations/Reflex.meta +8 -0
- package/Tests/Editor/Integrations/VContainer/VContainerRelationalEntryPointTests.cs +15 -16
- package/Tests/Editor/Integrations/VContainer/VContainerRelationalHelpersTests.cs +7 -13
- package/Tests/Editor/Integrations/Zenject/ZenjectRelationalHelpersTests.cs +7 -11
- package/Tests/Editor/Integrations/Zenject/ZenjectRelationalInitializerTests.cs +19 -21
- package/Tests/Editor/PersistentDirectorySettingsTests.cs +0 -1
- package/Tests/Editor/Sprites/AnimationCopierFilterTests.cs +0 -1
- package/Tests/Editor/Sprites/AnimationViewerWindowTests.cs +2 -2
- package/Tests/Editor/Tools/ImageBlurToolTests.cs +1 -1
- package/Tests/Editor/Utils/CommonTestBase.cs +17 -0
- package/Tests/Editor/Utils/ScriptableObjectSingletonCreatorTests.cs +1 -1
- package/Tests/Runtime/Extensions/AsyncOperationExtensionsTests.cs +179 -0
- package/Tests/Runtime/Extensions/RandomExtensionTests.cs +55 -0
- package/Tests/Runtime/Integrations/Reflex/RelationalComponentsReflexTests.cs +445 -0
- package/Tests/Runtime/Integrations/Reflex/RelationalComponentsReflexTests.cs.meta +11 -0
- package/Tests/Runtime/Integrations/Reflex/WallstopStudios.UnityHelpers.Tests.Runtime.Reflex.asmdef +28 -0
- package/Tests/Runtime/Integrations/Reflex/WallstopStudios.UnityHelpers.Tests.Runtime.Reflex.asmdef.meta +7 -0
- package/Tests/Runtime/Integrations/Reflex.meta +8 -0
- package/Tests/Runtime/Integrations/VContainer/RelationalComponentsVContainerTests.cs +24 -29
- package/Tests/Runtime/Integrations/VContainer/RelationalObjectPoolsVContainerTests.cs +8 -3
- package/Tests/Runtime/Integrations/Zenject/RelationalComponentsZenjectTests.cs +10 -20
- package/Tests/Runtime/Performance/RandomPerformanceTests.cs +1 -1
- package/Tests/Runtime/Performance/SpatialTree2DPerformanceTests.cs +1 -1
- package/Tests/Runtime/Performance/SpatialTree3DPerformanceTests.cs +1 -1
- package/Tests/Runtime/Serialization/JsonRoundtripComprehensiveTests.cs +4 -9
- package/Tests/Runtime/Serialization/ProtoRoundtripComprehensiveTests.cs +13 -13
- package/Tests/Runtime/TestUtils/CommonTestBase.cs +11 -0
- package/Tests/Runtime/TestUtils/ReflexTestSupport.cs +111 -0
- package/Tests/Runtime/TestUtils/ReflexTestSupport.cs.meta +12 -0
- package/Tests/Runtime/Utils/MatchColliderToSpriteTests.cs +4 -4
- package/Tests/TestUtils.meta +8 -0
- package/package.json +6 -1
- package/EFFECTS_SYSTEM.md +0 -242
- package/MATH_AND_EXTENSIONS.md +0 -316
- /package/{CHANGELOG.md → Docs/CHANGELOG.md} +0 -0
- /package/{CHANGELOG.md.meta → Docs/CHANGELOG.md.meta} +0 -0
- /package/{CONTRIBUTING.md → Docs/CONTRIBUTING.md} +0 -0
- /package/{CONTRIBUTING.md.meta → Docs/CONTRIBUTING.md.meta} +0 -0
- /package/{DATA_STRUCTURES.md → Docs/DATA_STRUCTURES.md} +0 -0
- /package/{DATA_STRUCTURES.md.meta → Docs/DATA_STRUCTURES.md.meta} +0 -0
- /package/{EDITOR_TOOLS_GUIDE.md → Docs/EDITOR_TOOLS_GUIDE.md} +0 -0
- /package/{EDITOR_TOOLS_GUIDE.md.meta → Docs/EDITOR_TOOLS_GUIDE.md.meta} +0 -0
- /package/{EFFECTS_SYSTEM.md.meta → Docs/EFFECTS_SYSTEM.md.meta} +0 -0
- /package/{EFFECTS_SYSTEM_TUTORIAL.md.meta → Docs/EFFECTS_SYSTEM_TUTORIAL.md.meta} +0 -0
- /package/{GETTING_STARTED.md.meta → Docs/GETTING_STARTED.md.meta} +0 -0
- /package/{GLOSSARY.md.meta → Docs/GLOSSARY.md.meta} +0 -0
- /package/{HULLS.md → Docs/HULLS.md} +0 -0
- /package/{HULLS.md.meta → Docs/HULLS.md.meta} +0 -0
- /package/{INDEX.md.meta → Docs/INDEX.md.meta} +0 -0
- /package/{LICENSE.md → Docs/LICENSE.md} +0 -0
- /package/{LICENSE.md.meta → Docs/LICENSE.md.meta} +0 -0
- /package/{MATH_AND_EXTENSIONS.md.meta → Docs/MATH_AND_EXTENSIONS.md.meta} +0 -0
- /package/{RANDOM_PERFORMANCE.md.meta → Docs/RANDOM_PERFORMANCE.md.meta} +0 -0
- /package/{REFLECTION_HELPERS.md → Docs/REFLECTION_HELPERS.md} +0 -0
- /package/{REFLECTION_HELPERS.md.meta → Docs/REFLECTION_HELPERS.md.meta} +0 -0
- /package/{RELATIONAL_COMPONENTS.md.meta → Docs/RELATIONAL_COMPONENTS.md.meta} +0 -0
- /package/{SERIALIZATION.md → Docs/SERIALIZATION.md} +0 -0
- /package/{SERIALIZATION.md.meta → Docs/SERIALIZATION.md.meta} +0 -0
- /package/{SINGLETONS.md → Docs/SINGLETONS.md} +0 -0
- /package/{SINGLETONS.md.meta → Docs/SINGLETONS.md.meta} +0 -0
- /package/{SPATIAL_TREES_2D_GUIDE.md.meta → Docs/SPATIAL_TREES_2D_GUIDE.md.meta} +0 -0
- /package/{SPATIAL_TREES_3D_GUIDE.md.meta → Docs/SPATIAL_TREES_3D_GUIDE.md.meta} +0 -0
- /package/{SPATIAL_TREE_2D_PERFORMANCE.md.meta → Docs/SPATIAL_TREE_2D_PERFORMANCE.md.meta} +0 -0
- /package/{SPATIAL_TREE_3D_PERFORMANCE.md.meta → Docs/SPATIAL_TREE_3D_PERFORMANCE.md.meta} +0 -0
- /package/{SPATIAL_TREE_SEMANTICS.md → Docs/SPATIAL_TREE_SEMANTICS.md} +0 -0
- /package/{SPATIAL_TREE_SEMANTICS.md.meta → Docs/SPATIAL_TREE_SEMANTICS.md.meta} +0 -0
- /package/{THIRD_PARTY_NOTICES.md → Docs/THIRD_PARTY_NOTICES.md} +0 -0
- /package/{THIRD_PARTY_NOTICES.md.meta → Docs/THIRD_PARTY_NOTICES.md.meta} +0 -0
|
@@ -33,34 +33,34 @@ This document contains performance benchmarks for the 3D spatial tree implementa
|
|
|
33
33
|
|
|
34
34
|
| Construction | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
35
35
|
| ----------------- | ------------------- | --------------------- | ---------- | ---------- |
|
|
36
|
-
| 1,000,000 entries | 2 (0.
|
|
36
|
+
| 1,000,000 entries | 2 (0.402s) | 3 (0.313s) | 2 (0.430s) | 2 (0.373s) |
|
|
37
37
|
|
|
38
38
|
##### Elements In Range
|
|
39
39
|
|
|
40
40
|
| Elements In Range | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
41
41
|
| --------------------------- | ------------------- | --------------------- | --------- | ------- |
|
|
42
|
-
| Full (~span/2) (r=49.50) | 17 | 20 |
|
|
43
|
-
| Half (~span/4) (r=24.75) | 127 |
|
|
44
|
-
| Quarter (~span/8) (r=12.38) | 934 | 1,
|
|
45
|
-
| Tiny (~span/1000) (r=1) | 23,
|
|
42
|
+
| Full (~span/2) (r=49.50) | 17 | 20 | 31 | 15 |
|
|
43
|
+
| Half (~span/4) (r=24.75) | 127 | 153 | 215 | 150 |
|
|
44
|
+
| Quarter (~span/8) (r=12.38) | 934 | 1,227 | 1,669 | 1,514 |
|
|
45
|
+
| Tiny (~span/1000) (r=1) | 23,479 | 23,665 | 138,186 | 76,631 |
|
|
46
46
|
|
|
47
47
|
##### Get Elements In Bounds
|
|
48
48
|
|
|
49
49
|
| Get Elements In Bounds | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
50
50
|
| -------------------------------- | ------------------- | --------------------- | --------- | ------- |
|
|
51
|
-
| Full (size≈99.00x99.00x99.00) |
|
|
52
|
-
| Half (size≈49.50x49.50x49.50) | 38 |
|
|
53
|
-
| Quarter (size≈24.75x24.75x24.75) |
|
|
54
|
-
| Unit (size=1) |
|
|
51
|
+
| Full (size≈99.00x99.00x99.00) | 33 | 35 | 176 | 20 |
|
|
52
|
+
| Half (size≈49.50x49.50x49.50) | 38 | 41 | 1,247 | 262 |
|
|
53
|
+
| Quarter (size≈24.75x24.75x24.75) | 38 | 43 | 3,959 | 2,520 |
|
|
54
|
+
| Unit (size=1) | 39 | 43 | 183,582 | 76,235 |
|
|
55
55
|
|
|
56
56
|
##### Approximate Nearest Neighbors
|
|
57
57
|
|
|
58
58
|
| Approximate Nearest Neighbors | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
59
59
|
| ----------------------------- | ------------------- | --------------------- | --------- | ------- |
|
|
60
|
-
| 500 neighbors | 5,
|
|
61
|
-
| 100 neighbors | 65,
|
|
62
|
-
| 10 neighbors |
|
|
63
|
-
| 1 neighbor |
|
|
60
|
+
| 500 neighbors | 5,895 | 10,193 | 2,302 | 305 |
|
|
61
|
+
| 100 neighbors | 65,079 | 70,085 | 10,904 | 3,349 |
|
|
62
|
+
| 10 neighbors | 403,144 | 416,692 | 16,000 | 7,663 |
|
|
63
|
+
| 1 neighbor | 544,211 | 412,407 | 19,831 | 8,321 |
|
|
64
64
|
|
|
65
65
|
#### **100,000 entries**
|
|
66
66
|
|
|
@@ -68,34 +68,34 @@ This document contains performance benchmarks for the 3D spatial tree implementa
|
|
|
68
68
|
|
|
69
69
|
| Construction | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
70
70
|
| --------------- | ------------------- | --------------------- | ----------- | ----------- |
|
|
71
|
-
| 100,000 entries |
|
|
71
|
+
| 100,000 entries | 34 (0.029s) | 47 (0.021s) | 64 (0.015s) | 43 (0.023s) |
|
|
72
72
|
|
|
73
73
|
##### Elements In Range
|
|
74
74
|
|
|
75
75
|
| Elements In Range | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
76
76
|
| --------------------------- | ------------------- | --------------------- | --------- | ------- |
|
|
77
|
-
| Full (~span/2) (r=49.50) |
|
|
78
|
-
| Half (~span/4) (r=24.75) | 1,
|
|
79
|
-
| Quarter (~span/8) (r=12.38) | 2,
|
|
80
|
-
| Tiny (~span/1000) (r=1) | 26,
|
|
77
|
+
| Full (~span/2) (r=49.50) | 336 | 485 | 770 | 199 |
|
|
78
|
+
| Half (~span/4) (r=24.75) | 1,019 | 1,445 | 2,040 | 853 |
|
|
79
|
+
| Quarter (~span/8) (r=12.38) | 2,567 | 3,993 | 5,989 | 3,443 |
|
|
80
|
+
| Tiny (~span/1000) (r=1) | 26,745 | 29,804 | 176,265 | 101,035 |
|
|
81
81
|
|
|
82
82
|
##### Get Elements In Bounds
|
|
83
83
|
|
|
84
84
|
| Get Elements In Bounds | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
85
85
|
| ------------------------------- | ------------------- | --------------------- | --------- | ------- |
|
|
86
|
-
| Full (size≈99.00x99.00x9) |
|
|
87
|
-
| Half (size≈49.50x49.50x4.5) |
|
|
88
|
-
| Quarter (size≈24.75x24.75x2.25) |
|
|
89
|
-
| Unit (size=1) |
|
|
86
|
+
| Full (size≈99.00x99.00x9) | 572 | 718 | 2,636 | 324 |
|
|
87
|
+
| Half (size≈49.50x49.50x4.5) | 662 | 837 | 9,370 | 3,498 |
|
|
88
|
+
| Quarter (size≈24.75x24.75x2.25) | 674 | 861 | 47,400 | 24,236 |
|
|
89
|
+
| Unit (size=1) | 676 | 872 | 246,015 | 101,313 |
|
|
90
90
|
|
|
91
91
|
##### Approximate Nearest Neighbors
|
|
92
92
|
|
|
93
93
|
| Approximate Nearest Neighbors | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
94
94
|
| ----------------------------- | ------------------- | --------------------- | --------- | ------- |
|
|
95
|
-
| 500 neighbors | 6,
|
|
96
|
-
| 100 neighbors | 38,
|
|
97
|
-
| 10 neighbors |
|
|
98
|
-
| 1 neighbor |
|
|
95
|
+
| 500 neighbors | 6,708 | 11,996 | 1,629 | 271 |
|
|
96
|
+
| 100 neighbors | 38,469 | 42,192 | 9,227 | 2,237 |
|
|
97
|
+
| 10 neighbors | 420,942 | 218,972 | 19,122 | 7,481 |
|
|
98
|
+
| 1 neighbor | 459,844 | 327,816 | 29,943 | 11,842 |
|
|
99
99
|
|
|
100
100
|
#### **10,000 entries**
|
|
101
101
|
|
|
@@ -103,34 +103,34 @@ This document contains performance benchmarks for the 3D spatial tree implementa
|
|
|
103
103
|
|
|
104
104
|
| Construction | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
105
105
|
| -------------- | ------------------- | --------------------- | ------------ | ------------ |
|
|
106
|
-
| 10,000 entries |
|
|
106
|
+
| 10,000 entries | 378 (0.003s) | 467 (0.002s) | 585 (0.002s) | 442 (0.002s) |
|
|
107
107
|
|
|
108
108
|
##### Elements In Range
|
|
109
109
|
|
|
110
110
|
| Elements In Range | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
111
111
|
| --------------------------- | ------------------- | --------------------- | --------- | ------- |
|
|
112
|
-
| Full (~span/2) (r=49.50) | 4,
|
|
113
|
-
| Half (~span/4) (r=24.75) | 5,
|
|
114
|
-
| Quarter (~span/8) (r=12.38) | 5,
|
|
115
|
-
| Tiny (~span/1000) (r=1) |
|
|
112
|
+
| Full (~span/2) (r=49.50) | 4,775 | 4,609 | 8,940 | 2,207 |
|
|
113
|
+
| Half (~span/4) (r=24.75) | 5,940 | 6,484 | 8,824 | 4,285 |
|
|
114
|
+
| Quarter (~span/8) (r=12.38) | 5,911 | 6,909 | 11,123 | 7,540 |
|
|
115
|
+
| Tiny (~span/1000) (r=1) | 41,201 | 39,120 | 218,463 | 160,263 |
|
|
116
116
|
|
|
117
117
|
##### Get Elements In Bounds
|
|
118
118
|
|
|
119
119
|
| Get Elements In Bounds | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
120
120
|
| ------------------------------ | ------------------- | --------------------- | --------- | ------- |
|
|
121
|
-
| Full (size≈99.00x9x9) |
|
|
122
|
-
| Half (size≈49.50x4.5x4.5) |
|
|
123
|
-
| Quarter (size≈24.75x2.25x2.25) |
|
|
124
|
-
| Unit (size=1) |
|
|
121
|
+
| Full (size≈99.00x9x9) | 5,944 | 5,974 | 26,136 | 3,587 |
|
|
122
|
+
| Half (size≈49.50x4.5x4.5) | 6,709 | 6,761 | 46,124 | 37,467 |
|
|
123
|
+
| Quarter (size≈24.75x2.25x2.25) | 6,843 | 6,878 | 167,117 | 120,365 |
|
|
124
|
+
| Unit (size=1) | 6,935 | 6,923 | 313,373 | 161,932 |
|
|
125
125
|
|
|
126
126
|
##### Approximate Nearest Neighbors
|
|
127
127
|
|
|
128
128
|
| Approximate Nearest Neighbors | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
129
129
|
| ----------------------------- | ------------------- | --------------------- | --------- | ------- |
|
|
130
|
-
| 500 neighbors | 9,
|
|
131
|
-
| 100 neighbors |
|
|
132
|
-
| 10 neighbors |
|
|
133
|
-
| 1 neighbor |
|
|
130
|
+
| 500 neighbors | 9,797 | 10,570 | 636 | 185 |
|
|
131
|
+
| 100 neighbors | 48,860 | 69,836 | 5,909 | 2,233 |
|
|
132
|
+
| 10 neighbors | 463,086 | 416,036 | 26,962 | 12,808 |
|
|
133
|
+
| 1 neighbor | 622,715 | 624,381 | 45,121 | 21,542 |
|
|
134
134
|
|
|
135
135
|
#### **1,000 entries**
|
|
136
136
|
|
|
@@ -138,34 +138,34 @@ This document contains performance benchmarks for the 3D spatial tree implementa
|
|
|
138
138
|
|
|
139
139
|
| Construction | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
140
140
|
| ------------- | ------------------- | --------------------- | -------------- | -------------- |
|
|
141
|
-
| 1,000 entries | 3,
|
|
141
|
+
| 1,000 entries | 3,828 (0.000s) | 1,431 (0.001s) | 4,177 (0.000s) | 4,058 (0.000s) |
|
|
142
142
|
|
|
143
143
|
##### Elements In Range
|
|
144
144
|
|
|
145
145
|
| Elements In Range | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
146
146
|
| -------------------------- | ------------------- | --------------------- | --------- | ------- |
|
|
147
|
-
| Full (~span/2) (r=4.5) |
|
|
148
|
-
| Half (~span/4) (r=2.25) |
|
|
149
|
-
| Quarter (~span/8) (r=1.13) |
|
|
150
|
-
| Tiny (~span/1000) (r=1) |
|
|
147
|
+
| Full (~span/2) (r=4.5) | 12,017 | 13,682 | 24,546 | 21,261 |
|
|
148
|
+
| Half (~span/4) (r=2.25) | 52,394 | 62,385 | 124,579 | 149,723 |
|
|
149
|
+
| Quarter (~span/8) (r=1.13) | 62,668 | 64,358 | 339,716 | 228,054 |
|
|
150
|
+
| Tiny (~span/1000) (r=1) | 62,670 | 64,483 | 340,166 | 228,438 |
|
|
151
151
|
|
|
152
152
|
##### Get Elements In Bounds
|
|
153
153
|
|
|
154
154
|
| Get Elements In Bounds | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
155
155
|
| ----------------------------- | ------------------- | --------------------- | --------- | ------- |
|
|
156
|
-
| Full (size≈9x9x9) |
|
|
157
|
-
| Half (size≈4.5x4.5x4.5) |
|
|
158
|
-
| Quarter (size≈2.25x2.25x2.25) |
|
|
159
|
-
| Unit (size=1) |
|
|
156
|
+
| Full (size≈9x9x9) | 54,554 | 59,700 | 321,423 | 35,729 |
|
|
157
|
+
| Half (size≈4.5x4.5x4.5) | 59,218 | 65,748 | 199,393 | 177,785 |
|
|
158
|
+
| Quarter (size≈2.25x2.25x2.25) | 59,744 | 67,219 | 501,086 | 234,106 |
|
|
159
|
+
| Unit (size=1) | 59,712 | 68,104 | 475,751 | 234,738 |
|
|
160
160
|
|
|
161
161
|
##### Approximate Nearest Neighbors
|
|
162
162
|
|
|
163
163
|
| Approximate Nearest Neighbors | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
164
164
|
| ----------------------------- | ------------------- | --------------------- | --------- | ------- |
|
|
165
|
-
| 500 neighbors | 15,
|
|
166
|
-
| 100 neighbors | 70,
|
|
167
|
-
| 10 neighbors |
|
|
168
|
-
| 1 neighbor |
|
|
165
|
+
| 500 neighbors | 15,553 | 14,623 | 3,259 | 621 |
|
|
166
|
+
| 100 neighbors | 70,256 | 65,840 | 15,632 | 4,130 |
|
|
167
|
+
| 10 neighbors | 439,459 | 413,712 | 74,432 | 32,538 |
|
|
168
|
+
| 1 neighbor | 691,682 | 657,381 | 84,606 | 43,414 |
|
|
169
169
|
|
|
170
170
|
#### **100 entries**
|
|
171
171
|
|
|
@@ -173,33 +173,33 @@ This document contains performance benchmarks for the 3D spatial tree implementa
|
|
|
173
173
|
|
|
174
174
|
| Construction | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
175
175
|
| ------------ | ------------------- | --------------------- | --------------- | --------------- |
|
|
176
|
-
| 100 entries |
|
|
176
|
+
| 100 entries | 39,370 (0.000s) | 33,003 (0.000s) | 26,246 (0.000s) | 20,746 (0.000s) |
|
|
177
177
|
|
|
178
178
|
##### Elements In Range
|
|
179
179
|
|
|
180
180
|
| Elements In Range | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
181
181
|
| -------------------------- | ------------------- | --------------------- | --------- | ------- |
|
|
182
|
-
| Full (~span/2) (r=4.5) |
|
|
183
|
-
| Half (~span/4) (r=2.25) |
|
|
184
|
-
| Quarter (~span/8) (r=1.13) |
|
|
185
|
-
| Tiny (~span/1000) (r=1) |
|
|
182
|
+
| Full (~span/2) (r=4.5) | 126,263 | 127,269 | 296,006 | 195,890 |
|
|
183
|
+
| Half (~span/4) (r=2.25) | 147,197 | 149,386 | 318,618 | 311,821 |
|
|
184
|
+
| Quarter (~span/8) (r=1.13) | 147,516 | 150,720 | 393,623 | 420,109 |
|
|
185
|
+
| Tiny (~span/1000) (r=1) | 147,471 | 150,688 | 395,500 | 405,202 |
|
|
186
186
|
|
|
187
187
|
##### Get Elements In Bounds
|
|
188
188
|
|
|
189
189
|
| Get Elements In Bounds | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
190
190
|
| ----------------------- | ------------------- | --------------------- | --------- | ------- |
|
|
191
|
-
| Full (size≈9x4x1) |
|
|
192
|
-
| Half (size≈4.5x2x1) |
|
|
193
|
-
| Quarter (size≈2.25x1x1) |
|
|
194
|
-
| Unit (size=1) |
|
|
191
|
+
| Full (size≈9x4x1) | 501,997 | 505,246 | 1,807,410 | 329,640 |
|
|
192
|
+
| Half (size≈4.5x2x1) | 498,779 | 534,318 | 494,122 | 456,745 |
|
|
193
|
+
| Quarter (size≈2.25x1x1) | 537,627 | 536,488 | 776,653 | 726,561 |
|
|
194
|
+
| Unit (size=1) | 539,253 | 536,541 | 776,990 | 721,307 |
|
|
195
195
|
|
|
196
196
|
##### Approximate Nearest Neighbors
|
|
197
197
|
|
|
198
198
|
| Approximate Nearest Neighbors | KDTree3D (Balanced) | KDTree3D (Unbalanced) | OctTree3D | RTree3D |
|
|
199
199
|
| ----------------------------- | ------------------- | --------------------- | --------- | ------- |
|
|
200
|
-
| 100 neighbors (max) | 92,
|
|
201
|
-
| 10 neighbors |
|
|
202
|
-
| 1 neighbor |
|
|
200
|
+
| 100 neighbors (max) | 92,014 | 88,119 | 69,346 | 62,009 |
|
|
201
|
+
| 10 neighbors | 617,049 | 514,543 | 105,140 | 100,817 |
|
|
202
|
+
| 1 neighbor | 872,834 | 636,275 | 172,544 | 221,636 |
|
|
203
203
|
|
|
204
204
|
<!-- tabs:end -->
|
|
205
205
|
<!-- SPATIAL_TREE_3D_BENCHMARKS_END -->
|