This page aims at helping benchmarking dynamically adding charts as well as making sure we don't introduce performance breaking changes. Look in the console for timing results for each batch of charts you've added
Few performance tips:
progressive rendering now can be customized through progressiveRenderingPointsPerFrame (16000 by default for lines, 2000 byy default for scatter) and progressiveRenderingMinimumFrames. Increase progressiveRenderingPointsPerFrame for better performance and decrease for smoother drawing. When at the right value no performance cost incurs and drawing is smooth but if value is too small can incur a performance cost (i.e the drawing will take longer, but will always start at the same time, also the UI won't be frozen)
progressive rendering is great for big dataset, it can incur a very small performance costs for smaller one. In my opinion this is far offseted by the fact that the UI doesn't freeze
scatter exacerbate perfomance issue, i.e big dataset on svg scatter can be very slow. This is always true on IE. Always use canvas rendering on IE for scatter. Preferably with progressive rendering
using the navigator doesn't come cost free since this is almost a chart itself. It can double the number of points to draw. If performance is an issue consider: not displaying the navigator/using canvas rendering on the navigator/not displaying all series on the navigator by changing the navigator series config
reusing charts previously created rather than dynamically creating one every time can help significantly. However this means making sure all previous properties have been appropriately changed and that something changed in order to redraw. This demo presents a really crude example of reusing charts that have been removed but doesn't deal with cleaning previous instances (hence some wrong config and/or visual artifact can appear)
Reuse from pool
prevent resize
disable Navigator
scatter
render to canvas
no progressive rendering
points per frame
min frames