10 ms·
Cool. I'm guessing from trying it out that you're using Highcharts. I've run into really unpleasant memory leaks/slowness when streaming data (especially when
by henripal 8y ago
Cool.
I'm guessing from trying it out that you're using Highcharts.
I've run into really unpleasant memory leaks/slowness when streaming data (especially when the existing chart is already thousands of data points). Are you seeing something similar?
- nicodjimenez 8y agoYes using Highcharts. You've had issues with Highcharts? Yeah it's not designed to stream data extremely rapidly but it's a great "good enough" product, especially for something like Losswise where the differentiation is the overall design and architecture and developer experience, not the prettiest possible graphs.
- henripal 8y agoYes... For example if I'm running three experiments at the same time, auto-refreshing the chart every two seconds, it essentially freezes the app to a crawl after a thousand points or so. So we reverted to manual updates. If you know of any better alternatives for data streaming, I'm curious. I tried benchmarking a couple libs recently: https://github.com/henripal/ChartingLibBenchmark https://github.com/henripal/ChartingLibBenchmark
- nicodjimenez 8y agoYeah I have no idea. If you need really high performance that Highcharts doesn't provide you probably need to write your own specialized charting library.
- TorsteinHonsi 8y agoAs a Highcharts developer, I had a look at your benchmarking, and have some thoughts about optimizing for Highcharts. The first step is to turn off animation, which helps a lot. The default Highcharts animation on addPoint is 250ms, so with a refresh rate of 100ms you will get a lot of redrawing going on for nothing. The second thing that possibly optimizes a bit is to use hard-coded axis values so that it doesn't have to recompute axis values for each iteration. With those modifications the performance is much better: http://jsfiddle.net/highcharts/1o5ghqc8/ http://jsfiddle.net/highcharts/1o5ghqc8/