Hi there,
Thanks for reaching out and sharing your detailed observations. Here's a summary of insights from our team regarding the performance differences you've noted between Highcharts versions 2 and 12:
1. Performance Variability: The observed difference in rendering times, from approximately 8ms to 11.3ms, while seemingly significant in percentage terms, is relatively small and could be unstable. Factors such as changes in the Chrome version, background processes, or variations across different machines and environments can influence these results. A sample size of 30 might not be sufficient if there's high variability.
2. Version Improvements: Over time, we've added more features to Highcharts, which naturally introduces more operations to process. This can impact performance, but we strive to balance new functionality with optimization. For instance, in Stock charts, we identified and fixed a performance issue related to the range selector in version 11.4.2.
3. Benchmarking: Our internal benchmarks, which have been conducted from version 4 to 11.3.1, show a trend of increasing processing times. However, these benchmarks are performed on our machines and are not official client-facing metrics. You can find our benchmarking workflow for Stock on our GitHub repository
here.
4. ES6 Module Load Times: It's noted that adding more chart types to an ES6 module can increase load times. This is a valid observation, and it's something we are continuously looking to optimize. Your question about why adding series types affects load times is a good one and worth further exploration by our product development team.
5. Rendering Times: It's worth noting that rendering times as low as 6ms or 3ms are exceptionally fast. In some cases, rendering 100k points takes about 0.33s, which is competitive in the industry.
6. Next Steps: Given the nature of your questions and the interest in understanding load time increases, it might be beneficial to escalate this to our product developers for deeper insights. Please create a ticket here:
https://github.com/highcharts/highcharts/issues. There could be opportunities to further optimize or provide explanations for the observed patterns.
Feel free to reach out if you'd like to discuss this further or if there's anything else we can assist with!
Best,