DHTMLX Gantt 10.0.3: Performance Gains for Projects with Up to 100,000 Tasks

Software version numbers clearly indicate the place of a given release in the product’s lifecycle, but at the same time, they do not always reflect the impact of the updates inside it. This is the case with DHTMLX Gantt 10.0.3. Even though it is a patch release, it includes a range of significant updates aimed at boosting Gantt performance in loading and editing scenarios with large datasets of up to 100,000 tasks.

To show the true value of this update, we compared v10.0.3 with four previous Gantt releases across key performance metrics related to loading and editing of the Gantt chart, using workloads from 1,000 to 100,000 tasks structured as flat chains and project trees.

DHTMLX Gantt versions compared: v8.0.11, v9.0.15, v9.1.4, v10.0.0, and v10.0.3.

What to Expect at 100,000 Tasks

To give you a general impression of current performance capabilities in DHTMLX Gantt, it is best to take a quick look at how much faster v10.0.3 handles stress tests with 100,000 tasks than previous Gantt versions:

  • Bulk editing up to 76x faster

At 100,000 flat tasks, v10.0.3 needs 389 ms to process a batch of 300 editing operations, while earlier Gantt versions require almost 30 seconds to complete this test.

  • Initial load time (TTR test) up to 44x faster

With 100,000 flat tasks and auto-scheduling disabled, v10.0.3 reaches the ready state in 716 ms. With previous versions, this workload takes 31.431.6 seconds.

  • Single-task editing is faster by 28-29%

When using v10.0.3, a common editing operation like moving a task in a 100,000-task project tree is completed in 252 ms, noticeably reducing the completion time compared to older Gantt versions.

Now, let us delve deeper into the test results that unveil more interesting insights into how Gantt performance has improved in recent years.

Bulk Editing

We start with one of the most revealing test scenarios, where the Gantt chart has to handle a batch of 100 updates, 100 deletions, and 100 insertions applied simultaneously, with auto-scheduling disabled.

Dataset size & shape v8.0.11 v9.0.15 v9.1.4 v10.0.0 v10.0.3 Speedup
1,000 tasks (flat) 162 ms 163 ms 166 ms 172 ms 41 ms ~4x
10,000 tasks (flat) 1,378 ms 1,397 ms 1,402 ms 1,405 ms 65 ms ~21.5x
100,000 tasks (flat) 29,487 ms 29,617 ms 29,659 ms 29,659 ms 389 ms ~76x
100,000 tasks (tree) 14,129 ms 14,372 ms 14,345 ms 14,560 ms 404 ms ~35.5x

As the table above shows, v10.0.3 has a substantial advantage even at modest workloads from 1,000 to 10,000 tasks, and the gap only widens as the number of tasks grows, reaching its peak on the 100,000-task flat dataset. Interestingly, the performance gap is smaller when the same 100,000 tasks are organized as a project tree, but v10.0.3 still completes the test much faster than its predecessors.

You may wonder how these results can be affected by enabling auto-scheduling. It is a fair question. In real projects, this mode helps recalculate dependencies between project tasks, and bulk edits can trigger a whole series of such recalculations. Adding auto-scheduling to the workload increases the execution time, but v10.0.3 still demonstrates a solid improvement in the 100,000-task project tree test result: 1,086 ms against 14,445–14,745 ms in v8.0.11 through v9.1.4.

Initial Load Time (TTR Test)

After learning how quickly different versions of DHTMLX Gantt respond to complex editing operations, it is reasonable to ask how long they take to become fully operational in the first place. The Time to Ready (TTR) helps answer this question by measuring the total time it takes for all tested Gantt versions to process the flat chain dataset with auto-scheduling disabled and be ready for user interactions.

Dataset size v8.0.11 v9.0.15 v9.1.4 v10.0.0 v10.0.3 Speedup
10,000 tasks 425 ms 440 ms 442 ms 442 ms 126 ms ~3.5x
50,000 tasks 8,116 ms 8,096 ms 8,095 ms 8,050 ms 399 ms ~20.3x
100,000 tasks 31,520 ms 31,635 ms 31,465 ms 31,397 ms 716 ms ~44x

Here we can see a performance pattern similar to the one observed in bulk editing: the larger the workload, the more noticeable the load time advantage of v10.0.3 over previous Gantt versions becomes.

Single-Task Editing

A single-task edit puts considerably less pressure on the Gantt chart, so the performance gap between versions is not as big as with bulk edits. This metric measures how long it takes to move a single task one month forward with auto-scheduling disabled.

Dataset size & shape v8.0.11 v9.0.15 v9.1.4 v10.0.0 v10.0.3
10,000 tasks (tree) 45 ms 48 ms 50 ms 49 ms 38 ms
50,000 tasks (tree) 176 ms 182 ms 185 ms 186 ms 133 ms
100,000 tasks (tree) 348 ms 351 ms 350 ms 356 ms 252 ms
100,000 tasks (flat) 385 ms 385 ms 392 ms 385 ms 316 ms

The results show a consistent improvement with v10.0.3 across all tested scenarios, with the largest gains appearing at 100,000 project tree tasks, the point at which responsiveness is often hard to maintain.

Overall, the test results clearly illustrate that performance optimizations introduced in v10.0.3 significantly speed up loading and editing operations with large datasets, especially at 100,000 tasks.

The full list of updates and bug fixes delivered in v10.0.3 is provided in the “What’s New” section of the Gantt documentation.

DHTMLX Gantt v10.0.3 is available now. If you are unfamiliar with our product and need a performant JavaScript Gantt tool for enterprise-level workloads, download a free 30-day trial version of DHTMLX Gantt and give it a try. Existing customers can access v10.0.3 via their Client’s Area.

We’d love to hear how v10.0.3 performs in your own projects. Reach out and share your experience with DHTMLX Gantt.

Advance your web development with DHTMLX

Gantt chart
Event calendar
Diagram library
30+ other JS components