[−][src]Module broccoli::analyze
Contains code to help analyze the Tree
structure.
Only used to measure the performance of the structure.
Modules
assert | Functions that panic if a disconnect between query results is detected
between |
Structs
SplitterEmpty | For cases where you don't care about any of the callbacks that Splitter provides, this implements them all to do nothing. |
TreeBuilder | Builder pattern for Tree. For most usecases, the user is suggested to use the built in new() functions to create the tree. This is provided in cases the user wants more control on the behavior of the tree for benching and debuging purposes. |
Enums
BinStrat | Passed to the binning algorithm to determine if the binning algorithm should check for index out of bounds. |
Constants
DEFAULT_NUMBER_ELEM_PER_NODE | Returns the height of a dyn tree for a given number of bots. The height is chosen such that the nodes will each have a small amount of bots. If we had a node per bot, the tree would have too many levels. Too much time would be spent recursing. If we had too many bots per node, you would lose the properties of a tree, and end up with plain sweep and prune. Theory would tell you to just make a node per bot, but there is a sweet spot inbetween determined by the real-word properties of your computer. |
Traits
Splitter | A trait that gives the user callbacks at events in a recursive algorithm on the tree. The main motivation behind this trait was to track the time spent taken at each level of the tree during construction. |
Functions
compute_tree_height_heuristic | Outputs the height given an desirned number of bots per node. |
nodes_left |