KX Community

Find answers, ask questions, and connect with our KX Community around the world.
KX Community Guidelines

Home Forums KX Solutions KX Dashboards: Pushing the boundaries of chart performance and speed

  • KX Dashboards: Pushing the boundaries of chart performance and speed

    Posted by ahackett on May 25, 2023 at 12:00 am

    ChartGL is a charting component in KX Dashboards, which leverages hardware acceleration to enable the visualization of very large datasets. An important feature of ChartGL is its ability to do this with high performance. ChartGL harnesses the power of WebGL, a high-performance JavaScript API that empowers browsers to render complex graphics seamlessly. By leveraging this technology, we aimed to create a charting tool in KX Dashboards that could render 2 million data points in under 3.7 seconds, which ChartGL achieves.

     

    One feature of ChartGL is its integrated performance tracking capability called ‘Load Time.’ This feature updates the user on the time it takes, in milliseconds, to load the chart whenever the data changes. Leveraging this tool, we conducted tests on the performance of ChartGL across three charting types: Bubble, Line, and Bar. These tests involved evaluating the load times for 20, 2000, 20,000, and 2,000,000 data points, with each chart reloaded 10 times to ensure accuracy. Our test environment of choice was Google Chrome.

     

    Among the chart types, Bubble charts exhibited the best performance. For 20 data points, the average load time was 512 milliseconds. Increasing the dataset to 2000 points yielded an average load time of 517 milliseconds, while 20,000 points resulted in an average load time of 583.1 milliseconds. When handling 2 million data points, Bubble charts took just 816.7 milliseconds on average.

     

     

    Bubble chart with 2 million data points

     

    Following closely in terms of performance were Line charts. Loading 20 points required an average of 508.6 milliseconds, while 2000 points took 509.1 milliseconds. Scaling up to 20,000 points resulted in an average load time of 594.5 milliseconds, and 2 million points averaged 828.9 milliseconds.

     

    Finally, Bar charts also exhibited high performance. Loading 20 points took an average of 502.4 milliseconds, while 2000 points loaded in 501.3 milliseconds. Expanding the dataset to 20,000 points increased the average load time to 659.2 milliseconds, and loading 2 million points had an average load time of 1119.8 milliseconds.

     

    Chart Type 20 points 2000 points 20,000 points 2,000,000 points
    Bubble 512 ms 517 ms 583.1 ms 816.7 ms
    Line 508.6 ms 509.1 ms 594.5 ms 828.9 ms
    Bar 502.4 ms 501.3 ms 659.2  ms 1119.8 ms

    Avg. load times of chart in milliseconds

     

    In summary, ChartGL surpassed our initial goal of loading 2 million points within 3.7 seconds, showcasing the capabilities of our solution. Whether you’re working with Bubble, Line, or Bar charts, ChartGL provides a robust and efficient toolset for visualizing large datasets with unmatched speed and accuracy.

     

    Try out KX Dashboards for free, and download the latest trial version at:

    https://code.kx.com/dashboards/gettingstarted/

    ahackett replied 8 months, 2 weeks ago 1 Member · 0 Replies
  • 0 Replies

Sorry, there were no replies found.

Log in to reply.