SwiftVis2 icon indicating copy to clipboard operation
SwiftVis2 copied to clipboard

Any benchmark?

Open dev590t opened this issue 4 years ago • 4 comments

It is possible to add a benchmark in the project to compare the performance of the last version of SwiftVis2 with other data visualization project?

dev590t avatar May 19 '21 14:05 dev590t

In my experience, performance testing on plotting can't be automated because so much of the work is handed off to the graphics system and the plotting code doesn't get a notification that rendering has finished. So it has to be done manually. We did a round of benchmarks for a paper that we published last fall with the title "Cross-Compiled Plotting with SwiftVis2". That one only had performance metrics for SwiftVis2 using the different platforms that Scala compiles to. I have an older paper (https://www.researchgate.net/publication/330845267_SwiftVis2_Plotting_with_Spark_using_Scala) that did some benchmarking across packages, but that was before we added a Swing renderer. Turns out that Swing destroys JavaFX for this type of plotting in both speed and quality.

Once the needed libraries have been updated to Scala 3, I will update SwiftVis2 and it could be interesting to do some performance comparisons. Are there other plotting libraries you are most interested in seeing it compared to?

MarkCLewis avatar May 30 '21 20:05 MarkCLewis

I have seen the performance of swing version of SwiftVis2 in https://dynamicsofprogramming.blogspot.com/2018/08/swiftvis2-and-speed-problems-with.html. It is pretty good. Actually I use alexarchambault/plotly-scala. It is a js librairy. So I know already it will be slowly than SwiftVis2.

dev590t avatar May 31 '21 22:05 dev590t

I had forgotten that I had written that blog post. :)

I don't know what data you are plotting, but a JS library will probably also have limitations on data. When we did the Scala.js testing for the cross-compiling work, we had to limit the number of data points quite a bit for the browser to handle it. The quality was good (similar to the Swing version) and the speed wasn't horrible (2x slower than Swing, but 2x faster than JavaFX), but the memory issues would prevent me from making some of my plots with it.

MarkCLewis avatar Jun 01 '21 15:06 MarkCLewis

Actually, I don't use the librairy for the big data. It is ok.

If the speed of js librairy is similar than SwiftViz2. In performance comparison, I would like see the memory consumption of compared librairy to be convinced than SwiftViz2 is the best solution for Scala big data ecosystem data visualization. I hope we will finally have a data visualization solution for big data in Scala :).

dev590t avatar Jun 02 '21 06:06 dev590t