SciChart is the fastest JS Chart library available
Tags: javascript, chart, library, webdev
Published: 2024-03-13 15:25:22

<p>It’s been just over a year since we released SciChart.js: a High Performance Realtime <a title="JavaScript Chart Library" href="https://www.scichart.com/javascript-chart-features/">JavaScript Chart Library</a>. From the start, our goal has been to create the fastest possible JavaScript Charts, but also produce visually appealing, productive, highly configurable and flexible / powerful TypeScript / JavaScript charting controls, capable of being used in demanding business apps.</p>
<!-- wp:paragraph -->
<p>Our first version of SciChart.js was able to <a href="https://blog.scichart.com/scichart-js-performance-demo-1-million-datapoints-70ms/" target="_blank" rel="noreferrer noopener" data-type="URL" data-id="https://blog.scichart.com/scichart-js-performance-demo-1-million-datapoints-70ms/">draw a million data points</a> in a browser, and we have only worked to improve our performance since then.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Version 2.1 of SciChart.js (in BETA now) <a href="https://blog.scichart.com/javascript-chart-performance-plotting-10-million-datapoints/" target="_blank" rel="noreferrer noopener" data-type="URL" data-id="https://blog.scichart.com/javascript-chart-performance-plotting-10-million-datapoints/">can draw over 10 million data points</a> and has even been tested up to <a href="https://blog.scichart.com/surpassing-limits-javascript-bigdata-webassembly/" target="_blank" rel="noreferrer noopener" data-type="URL" data-id="https://blog.scichart.com/surpassing-limits-javascript-bigdata-webassembly/">100 million data points</a>. That's more than enough to show the entire history of Bitcoin in a 1-minute chart, or visualise data in the most demanding applications.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Why would you need this speed in a Js Chart?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Currently, most JavaScript applications use charting in the sense that they may have a few hundred to a few thousand data-points on an infographic, chart, or graph.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Most existing <a href="https://www.scichart.com/javascript-chart-features/"><strong>Fast</strong> <strong>JavaScript Chart Libraries</strong></a> can only render a few thousand points before slowdown. However, trends in Js application development are changing.</p>
<!-- /wp:paragraph -->


<!-- wp:quote -->
<blockquote class="wp-block-quote"><em>Most JavaScript Chart Libraries can render a few thousand points before slowing down. Big-Data is a trend across industries and the amount of data is only getting bigger. If the speed of your JS Chart Library is not an issue now, it will be soon. </em></blockquote>
<!-- /wp:quote -->

<!-- wp:paragraph -->
<p>There are a lot of legacy native-code applications in <a href="https://www.scichart.com/why-scichart-perfect-for-scientific-medical-engineering-applications/">Science, Engineering</a> and <a href="https://www.scichart.com/why-scichart-best-for-financial-stock-trading-applications/">Finance</a> which need to render millions of data-points from big-data stores, sensors (telemetry, IoT). Even hardware devices like electronic test equipment, process monitoring equipment can have integrated displays which include real-time charts to visualise data. Many legacy applications are moving toward npm / Typescript / React as a UI tech stack.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://www.scichart.com/why-scichart-high-performance-realtime-big-data-charts/">Big-Data</a> is a trend across industries and the amount of data to visualise is only getting bigger. If the performance of your JS Chart Library is not an issue now, it will be soon. With new tools like <a href="https://www.scichart.com/">SciChart</a> allowing you to visualise bigger datasets, it will become a competitive advantage to be able to visualise and gain valuable insights from the rich data your organisation has collected.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Before SciChart, there was no viable solution for big-data, dynamic or real-time charts in JavaScript applications, however we've built an award-winning, cutting-edge solution based on gaming technology, with WebGL and WebAssembly to provide high performance JavaScript Charts.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>SciChart solves tomorrow's problems today: visualising large datasets, or dynamic datasets in data-intensive applications.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Charting Performance Test Cases</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We've built a demanding test-suite which compares the performance across a number of chart components. Included in the test are the following JavaScript Chart libraries:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
<li><strong>Plotly.js</strong> - an SVG and WebGL powered JS chart</li>
<li><strong>HighCharts</strong> - SVG powered JS charts</li>
<li><strong>HighCharts</strong> <strong>Boost</strong> - a higher performance plugin for HighCharts</li>
<li><strong>Chart.js</strong>, an open source library based on HTML5 Canvas</li>
<li><strong>SciChart.js</strong>, our WebGL &amp; WebAssembly powered chart library</li>
</ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><em>Note: Other chart libraries were tested internally but not included in the results below, as we are on focussing on the most popular libraries.</em></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We put them head to head in a demanding performance test that stress your CPU &amp; GPU to the max to find out which is the fastest.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>These are the test cases:</p>
<!-- /wp:paragraph -->

<!-- wp:gallery {"linkTo":"none"} -->
<figure class="wp-block-gallery has-nested-images columns-default is-cropped"><!-- wp:image {"id":31987,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img class="alignnone wp-image-31987" src="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTest_NxM.jpg" alt="An example of a Thousands of Line Series Chart" width="800" height="600" />
<figcaption>Thousands of Line Series test</figcaption>
</figure>
<!-- /wp:image -->

<!-- wp:image {"id":31993,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img class="alignnone wp-image-31993" src="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTest_RealtimeScatter.jpg" alt="An Example of a Realtime Scatter Chart" width="800" height="600" />
<figcaption>Realtime Scatter Chart test</figcaption>
</figure>
<!-- /wp:image -->

<!-- wp:image {"id":31989,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img class="alignnone wp-image-31989" src="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTest_Realtime_Xy_Line.jpg" alt="An example of a XY Scatter Line Chart" width="800" height="600" />
<figcaption>XY Scatter Line test</figcaption>
</figure>
<!-- /wp:image -->

<!-- wp:image {"id":31983,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img class="alignnone wp-image-31983" src="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTest_Column.jpg" alt="An example of a Column Chart" width="800" height="600" />
<figcaption>Column Charts test</figcaption>
</figure>
<!-- /wp:image -->

<!-- wp:image {"id":31981,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img class="alignnone wp-image-31981" src="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTest_Candlestick.jpg" alt="An example of a Candlestick Chart" width="800" height="600" />
<figcaption>Candlestick Charts Test</figcaption>
</figure>
<!-- /wp:image -->

<!-- wp:image {"id":31985,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img class="alignnone wp-image-31985" src="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTest_Mountain.jpg" alt="An example of a Mountain (Area) Chart" width="800" height="600" />
<figcaption>Mountain (Area) Charts Test</figcaption>
</figure>
<!-- /wp:image -->

<!-- wp:image {"id":31995,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img class="alignnone wp-image-31995" src="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTest_RealtimeScrollingLine.jpg" alt="An example of a Realtime Scrolling Lines Chart" width="800" height="600" />
<figcaption>Realtime Scrolling Lines Test</figcaption>
</figure>
<!-- /wp:image -->

<!-- wp:image {"id":31991,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img class="alignnone wp-image-31991" src="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTest_RealtimeLine.jpg" alt="An example of a Realtime Updating Lines Chart" width="800" height="600" />
<figcaption>Realtime Updating Lines Test</figcaption>
</figure>
</figure>
<!-- /wp:gallery -->

<!-- wp:paragraph -->
<p>Demanding, Varied test cases stress different types of drawing or rendering. In our <a href="https://www.scichart.com/javascript-chart-features/">JavaScript Chart Library</a> Performance Comparison we test:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
<li><strong>Plotting JS Line charts </strong>with hundreds, or thousands of line series</li>
<li><strong>Plotting JS Scatter charts </strong>with real-time updates</li>
<li><strong>XY Lines (scatter line)</strong>. A challenging test case as it can't be downsampled easily.</li>
<li><strong>Column Charts</strong>. Columns require extra geometry and are difficult to optimise</li>
<li><strong>Mountain or Area Charts</strong>. Also require extra geometry</li>
<li><strong>Candlestick Charts</strong>. An important test case for stock chart applications which demand good rendering performance.</li>
<li><strong>Realtime JS Chart Cases</strong>. One with scrolling line series (for realtime monitoring applications) and another with new data added to the chart at high speed.</li>
</ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2>The Performance Comparison Test Results</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>You can find the test results of our JavaScript Chart Performance Comparison below.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>Test Results Table</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Below, you can find the performance test results in table form. The test case &amp; parameters are on the left, and the results are in FPS (Frames per second). Drawing speed is measured in<strong> FPS</strong> (Frames per second – <strong>Higher is Better</strong>), meaning, the average number of redraws per second during the test. An FPS result above 30 is smooth to the eye.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Heatmap colours highlight the winners &amp; losers. On the right, find the Speed Increase of SciChart.js compared to the second-fastest JS Chart Library as a percentage.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":32028,"width":885,"height":1264,"sizeSlug":"full","linkDestination":"none"} -->
<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img class="alignnone wp-image-32028" src="https://www.scichart.com/wp-content/uploads/2022/01/Performance_Comparison_Results_Fps_SciChart_vs_HighCharts_Plotly_Chartjs-1.png" alt="SciChart Vs. Other Competitors Spreadsheet" width="885" height="1264" />
<figcaption>Performance Comparison between SciChart.js, HighCharts (with and without Boost), Plotly.js and Chart.js. Tests carried out with SciChart.js v2.1 BETA</figcaption>
</figure>
</div>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>We'll draw a conclusion below, but some immediate takeaways from the table above:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>SciChart.js is incredibly fast!</p>
<!-- /wp:paragraph -->

<!-- wp:quote -->
<blockquote class="wp-block-quote">Of the test results which passed, the average speed increase was 1,975% (~20x faster). The maximum speed increase was 11,126% (111x faster than the second-fastest competing JavaScript Chart). In some cases, SciChart.js was able to draw hundreds, or even thousands of times more data.</blockquote>
<!-- /wp:quote -->

<!-- wp:paragraph -->
<p>More on the performance test results below...</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Test Results in Chart Form</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Let's see the test results in chart form. Click on a chart to view full size!</p>
<!-- /wp:paragraph -->

<!-- wp:kadence/advancedgallery {"uniqueID":"_803aca-51","columns":[2,2,2,2,1,1],"ids":[32009,32017,32019,32007,32005,32011,32015,32013],"type":"grid","linkTo":"media","showCaption":true,"captionStyle":"below","captionStyles":[{"size":["","",""],"sizeType":"px","lineHeight":["","",""],"lineType":"px","letterSpacing":"","textTransform":"","family":"","google":false,"style":"","weight":"","variant":"","subset":"","loadGoogle":true,"color":"#353638","background":"#000000","backgroundOpacity":0.11}],"gutter":[5,"",""],"lightbox":"magnific"} -->
<div class="wp-block-kadence-advancedgallery kb-gallery-wrap-id-_803aca-51">
<ul class="kb-gallery-ul kb-gallery-type-grid kb-gallery-id-_803aca-51 kb-gallery-caption-style-below kb-gallery-filter-none kb-gallery-magnific-init" data-item-selector=".kadence-blocks-gallery-item" data-image-filter="none" data-lightbox-caption="true" data-columns-xxl="2" data-columns-xl="2" data-columns-lg="2" data-columns-md="2" data-columns-sm="1" data-columns-xs="1">
<li class="kadence-blocks-gallery-item">
<div class="kadence-blocks-gallery-item-inner">
<figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-has-caption kb-has-image-ratio-land32">
<div class="kb-gal-image-radius">
<div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic kb-gallery-image-ratio-land32"><img class="alignnone wp-image-32009" src="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_ManyLines.png" alt="JavaScript Chart Performance Test: Thousands of line series" width="807" height="516" data-full-image="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_ManyLines.png" data-light-image="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_ManyLines.png" data-id="32009" data-link="https://www.scichart.com/performancetestresult_manylines/" /></div>
</div>
<div class="kadence-blocks-gallery-item__caption">JavaScript Chart Performance Test: Thousands of line series</div>
</figure>
</div>
</li>
<li class="kadence-blocks-gallery-item">
<div class="kadence-blocks-gallery-item-inner">
<figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-has-caption kb-has-image-ratio-land32">
<div class="kb-gal-image-radius">
<div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic kb-gallery-image-ratio-land32"><img class="alignnone wp-image-32017" src="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_Scatter.png" alt="JavaScript Chart Performance Test: Dynamic Scatter series" width="806" height="516" data-full-image="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_Scatter.png" data-light-image="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_Scatter.png" data-id="32017" data-link="https://www.scichart.com/performancetestresult_scatter/" /></div>
</div>
<div class="kadence-blocks-gallery-item__caption">JavaScript Chart Performance Test: Dynamic Scatter series</div>
</figure>
</div>
</li>
<li class="kadence-blocks-gallery-item">
<div class="kadence-blocks-gallery-item-inner">
<figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-has-caption kb-has-image-ratio-land32">
<div class="kb-gal-image-radius">
<div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic kb-gallery-image-ratio-land32"><img class="alignnone wp-image-32019" src="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_XyLine.png" alt="JavaScript Chart Performance Test: XY Line series" width="806" height="516" data-full-image="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_XyLine.png" data-light-image="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_XyLine.png" data-id="32019" data-link="https://www.scichart.com/performancetestresult_xyline/" /></div>
</div>
<div class="kadence-blocks-gallery-item__caption">JavaScript Chart Performance Test: XY Line series</div>
</figure>
</div>
</li>
<li class="kadence-blocks-gallery-item">
<div class="kadence-blocks-gallery-item-inner">
<figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-has-caption kb-has-image-ratio-land32">
<div class="kb-gal-image-radius">
<div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic kb-gallery-image-ratio-land32"><img class="alignnone wp-image-32007" src="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_Columns.png" alt="JavaScript Chart Performance Test: Column series" width="806" height="516" data-full-image="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_Columns.png" data-light-image="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_Columns.png" data-id="32007" data-link="https://www.scichart.com/performancetestresult_columns/" /></div>
</div>
<div class="kadence-blocks-gallery-item__caption">JavaScript Chart Performance Test: Column series</div>
</figure>
</div>
</li>
<li class="kadence-blocks-gallery-item">
<div class="kadence-blocks-gallery-item-inner">
<figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-has-caption kb-has-image-ratio-land32">
<div class="kb-gal-image-radius">
<div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic kb-gallery-image-ratio-land32"><img class="alignnone wp-image-32005" src="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_Candlestick.png" alt="JavaScript Chart Performance Test: Candlestick" width="806" height="516" data-full-image="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_Candlestick.png" data-light-image="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_Candlestick.png" data-id="32005" data-link="https://www.scichart.com/performancetestresult_candlestick/" /></div>
</div>
<div class="kadence-blocks-gallery-item__caption">JavaScript Chart Performance Test: Candlestick</div>
</figure>
</div>
</li>
<li class="kadence-blocks-gallery-item">
<div class="kadence-blocks-gallery-item-inner">
<figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-has-caption kb-has-image-ratio-land32">
<div class="kb-gal-image-radius">
<div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic kb-gallery-image-ratio-land32"><img class="alignnone wp-image-32011" src="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_Mountain.png" alt="JavaScript Chart Performance Test: Mountain (Area)" width="807" height="516" data-full-image="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_Mountain.png" data-light-image="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_Mountain.png" data-id="32011" data-link="https://www.scichart.com/performancetestresult_mountain/" /></div>
</div>
<div class="kadence-blocks-gallery-item__caption">JavaScript Chart Performance Test: Mountain (Area)</div>
</figure>
</div>
</li>
<li class="kadence-blocks-gallery-item">
<div class="kadence-blocks-gallery-item-inner">
<figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-has-caption kb-has-image-ratio-land32">
<div class="kb-gal-image-radius">
<div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic kb-gallery-image-ratio-land32"><img class="alignnone wp-image-32015" src="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_RealtimeScrollingLine.png" alt="JavaScript Chart Performance Test: Realtime Lines" width="807" height="516" data-full-image="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_RealtimeScrollingLine.png" data-light-image="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_RealtimeScrollingLine.png" data-id="32015" data-link="https://www.scichart.com/performancetestresult_realtimescrollingline/" /></div>
</div>
<div class="kadence-blocks-gallery-item__caption">JavaScript Chart Performance Test: Realtime Lines</div>
</figure>
</div>
</li>
<li class="kadence-blocks-gallery-item">
<div class="kadence-blocks-gallery-item-inner">
<figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-has-caption kb-has-image-ratio-land32">
<div class="kb-gal-image-radius">
<div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic kb-gallery-image-ratio-land32"><img class="alignnone wp-image-32013" src="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_RealtimeLine.png" alt="JavaScript Chart Performance: Realtime Lines Test" width="806" height="516" data-full-image="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_RealtimeLine.png" data-light-image="https://www.scichart.com/wp-content/uploads/2022/01/PerformanceTestResult_RealtimeLine.png" data-id="32013" data-link="https://www.scichart.com/performancetestresult_realtimeline/" /></div>
</div>
<div class="kadence-blocks-gallery-item__caption">JavaScript Chart Performance: Realtime Lines (2)</div>
</figure>
</div>
</li>
</ul>
</div>
<!-- /wp:kadence/advancedgallery -->

<!-- wp:paragraph -->
<p>The bar charts above make it easier to see how SciChart.js (green) is performing vs. the competition. Even with 1 to 10 million data-points, SciChart.js is drawing charts at high refresh rates, meaning that SciChart is able to plot a chart in record time.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Some competing JS charts drop off very quickly. Take a look at the Candlestick chart test for example. All competitors are struggling with only 1,000 candles. At 10,000, they can barely redraw. Only SciChart.js can handle millions of candlesticks - enough to plot the entire history of Bitcoin in a 1-minute timeframe.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Performance Comparison Conclusions</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>So, some pretty incredible performance results above for a variety of popular JavaScript chart libraries! What conclusions can we draw from these?</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
<li>According to the Performance Comparison Results, <strong>most JavaScript Chart libraries are unsuitable for datasets over a few thousand points, or dynamic updates on the chart</strong>.</li>
</ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul>
<li>Most perform poorly once the amount of data reaches only a few thousand points.</li>
</ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul>
<li><strong>All struggled to draw more than a thousand candlesticks</strong> in stock chart configuration.</li>
</ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul>
<li><strong>Many failed / crashed when larger datasets were given to the chart</strong>. For example, HighCharts.js simply crashed (even with boost module) when attempting to draw 500 line series with 500 points.</li>
</ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2>How does SciChart.js Compare?</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul>
<li>In demanding and varied test cases, <strong>SciChart.js beat all competing JavaScript Chart libraries</strong> in performance tests carried out.</li>
</ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul>
<li>For several test cases, competing charts failed to draw (crashed or hanged the webpage).</li>
</ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul>
<li>For the above test cases, <strong>SciChart.js was on average 1,975% faster (~20x faster) than the 2nd fastest competitor, and a maximum of 11,126% faster (111x faster!)</strong></li>
</ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul>
<li>For Candlestick Charts, <strong>SciChart.js can draw 1,000x more candlesticks than competing libraries</strong>, allowing you to show large histories such as years of 1-minute stock, forex or cryptocurrency data in JavaScript.</li>
</ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul>
<li>For Column Charts, <strong>SciChart.js was also able to show 100x more data than competing charts</strong></li>
</ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul>
<li><strong>SciChart.js was able to draw thousands of line series</strong>, opening up advanced statistical analysis or comparisons which are not possible with other JS Chart libraries.</li>
</ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><em>If you are building an application with demanding data-visualisation requirements, or porting from Windows (native code) to JavaScript, then SciChart is the only viable solution today for big-data applications, complex and data-intensive apps. If chart flexibility, rendering performance and reliability are mission critical to the success of the app, and your business, then we hope we've demonstrated why we remain the expert's choice.</em></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Find out More</strong> at the link below.</p>
<p>https://scichart.com/javascript-chart-features</p>
<div class="wp-block-stackable-card is-style-default-2 stk-block-card stk-block stk-7940f71" data-block-id="7940f71">
<div class="stk--no-padding stk-container stk-7940f71-container stk-hover-parent">
<div class="stk-container-padding stk-block-card__content">
<div class="stk-block-content stk-inner-blocks">
<div class="wp-block-stackable-heading stk-block-heading stk-block stk-7131464" data-block-id="7131464">
<h2 class="stk-block-heading__text">JavaScript Charts by SciChart</h2>
</div>
<div class="wp-block-stackable-text stk-block-text stk-block stk-4f2a847" data-block-id="4f2a847">
<p class="stk-block-text__text">JavaScript Charts by SciChart are extremely fast and allow robust, high performance data-visualisation across a number of chart types &amp; scenarios. Learn more about the features and start a trial today by clicking the button below.</p>
</div>
<div class="wp-block-stackable-columns alignfull stk-block-columns stk-block stk-3d77278" data-block-id="3d77278"><a class="button" href="https://www.scichart.com/getting-started/scichart-js/">Start Trial</a></div>
<div data-block-id="3d77278"> </div>
</div>
</div>
</div>
</div>