Skip to content

TreeView performance comparison#

Flexible TreeView for .NET offers exceptional performance, surpassing competitors by up to 230x. When managing large datasets, Flexible TreeView is the only component that completes operations in seconds, while other controls either struggle or fail to respond.

Benchmark implementation#

The following pseudocode was used to measure node addition performance in both modes:

StartTimer();
tree.BeginUpdate();
for(int i = 0; i < nodesCount; i++)
{
    Node node = new Node("Node"+i);
    Tree.Nodes.Add(node);
}
tree.EndUpdate();
StopTimer();
class NodeData
{
    public string Name { get; set; }
}

IList<NodeData> dataSource = GenerateDataSource(itemsCount);

StartTimer();
tree.BeginUpdate();
tree.DataSource = dataSource;
tree.EndUpdate();
StopTimer();

Performance results#

Below are the benchmark results showing the time (in seconds) taken to add the specified number of nodes.

Product Mode 1,000 nodes 10,000 nodes 100,000 nodes 1,000,000 nodes
Flexible TreeView Unbound 0.05 0.20 1.24 12.17
Flexible TreeView Bound 0.04 0.06 0.39 3.02
.NET TreeView Unbound 0.23 2.57 61.74 unresponsive
DevExpress XtraTreeList Unbound 0.05 0.31 88.53 unresponsive
DevExpress XtraTreeList Bound 0.04 0.06 0.17 0.76
Telerik RadTreeListView Unbound 0.27 2.37 107.13 unresponsive
Telerik RadTreeListView Bound 0.25 1.51 72.30 unresponsive
ComponentOne C1TreeView Unbound 1.09 3.74 60.69 unresponsive
ComponentOne C1TreeView Bound 1.16 4.49 87.17 unresponsive

* All benchmarks were performed on identical hardware configuration as of January 2025 to ensure fair comparison between all tested controls.