Our state of the art Gantt chart
I made some performance tests with Bryntum Gantt 4.0.7 (Angular advanced example) and Ext Gantt Pro 6.1.11 (advanced example).
The conclusion of my tests is that the creation of the Gantt and the loading of a schedule is much slower with Bryntum Gantt 4.0.7 than with Ext Gantt 6.1.11.
I had the follwoing measure points:
- "Duration from create to load": => From ngInit() to crudManager.load event
- "Duration processing response": => From crudManager.beforeResponseApply event to crudManager.load event
- "Loading data to stores": => From crudManager.beforeLoadApply event to crudManager.load event
- "Duration from create to load": => From Application.constructor to crudManager.load event
- "Duration processing response": => From crudManager.beforeresponseapplyevent to crudManager.load event
- "Loading data to stores": => From crudManager.beforeloadapplyevent to crudManager.load event
My personal results:
- "Duration from create to load": 4.0.7 is 3,5 times slower than 6.1.11
- "Duration processing response": 4.0.7 is 7,4 times slower than 6.1.11
- "Loading data to stores": 4.0.7 is 7,4 time slower than 6.1.11
Can you confirm these results?
If yes, can you explain why and if this performance can be improved?
By the way:
Working within Bryntum Gantt 4.0.7 (adding new tasks, indenting/outdentig) is very much faster than with Ext Gantt!
I attached my adapted advanced example codes so that you can hopefully reproduce my measurement in an easy way:
- 4.0.7: Zipped directory "bryntum-gantt-4.0.7\gantt-4.0.7\examples\angular\advanced":
- 6.1.11: Zipped directory "gantt-pro-6.1.11\examples\advanced"
Thanks in advance for any feedback!
One reason that loading takes longer now is that loading time now includes a data propagation (to fill in the missing values and validate the data). Ext version does not perform that (assuming all data is correct). So to measure the loading time precisely need to measure till the
Another reason is that constructing reactive graph of data dependencies (which makes Gantt faster for regular workflow as you noticed) has its overhead as well, compared to simple data model of Ext Gantt.
We'll be working on improving this metric.
Read the API documentation