IHierarhyNode interface is designed to accelerate the performance for hierarchical data in XAF application. Compared with ITreeNode, its effectiveness becomes appreciable when the amount of the data over 1000 objects.
This post describes the results of comparing the performance of the processing of hierarchical data in XAF application. Results was obtained for Win platform.
HierarchyNode solution includes 4 types of hierarchical objects:
TreeListObject implements DevExpress.Persistent.Base.General.ITreeNode interface. This is a simple class to implement the tree like structure in DevExpress XAF. Default editor for TreeListObject is DevExpress.ExpressApp.TreeListEditors.Win.TreeListEditor.
The table below shows obtained results (time in milliseconds).
Tree List Editor
Win Explorer List Editor
Win Hierarchy Node List Editor
Tree List Object
Hierarchy Node Object
Hierarchical Classifier Item
Hierarchy Node Desc
Hierarchy Node Object
Hierarchical Classifier Item
Hierarchy Node Desc
1
14579
701
739
699
14898
31644
14399
2
9571
653
714
643
9721
22048
8833
1 – the time of loading the data into List View.
2 – the time of expanding the node.
Let see results in diagram form. First figure shows the time of loading the data into List View, depending on the editor.
Second figure shows the time of first expanding the node, depending on the editor.
When working with large amounts of data using WinExplorerListEditor was more effective compared to TreeListEditor and WinHierarchyNodeListEditor. WinHierarchyNodeListEditor and TreeListEditor gave almost equal performance. But WinExplorerListEditor has uploaded the data 21 times faster, and expanded the first node 14 times faster.
WinExplorerListEditor loaded HierarchicalClassifierItem objects 42 times faster and expanded the node 300 times faster.
HierarchyNodeDesc object, implements 4 hierarchy, reaching almost the same results with the HierarchyNodeObject object, which implements only one hierarchy. This indicates that the presence of multiple hierarchy has no significant effect on the performance of the editor.
Topics in this section provide detailed information on hierarchical data in Xafari: each UI element.
To learn about the business model design, please refer to the following documentation sections:
The listed topics provide information on how to Xafari supports hierarchical data properly declare your data classes
For more detailed information examine
HierarchyNode solution and refer to the following topics.