3 ms·
That's cool! I also wrote my own service https://losswise.com https://losswise.com
by nicodjimenez 9y ago
That's cool! I also wrote my own service https://losswise.com https://losswise.com
- dspoka 9y agoDo you have any information on pricing?
- nicodjimenez 9y agoCurrent feature set is completely free as the service is in early beta stage. We plan to charge later for additional features and services. The project started as an internal project for Mathpix.com and therefore already pays for itself.
- henripal 9y agoCool. 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 9y 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 9y 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 9y 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 9y 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/