Kendo vs SyncFusion vs HighCharts (v3)

Revision 3 of this benchmark created by Dan Liliedahl on


Description

Chart load performance: Kendo vs. SyncFusion vs. HighCharts

Preparation HTML

<script src="//cdn.kendostatic.com/2014.2.716/js/kendo.all.min.js"></script>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/globalize/0.1.1/globalize.min.js"></script>
<script src="http://cdn.syncfusion.com/12.1/js/ej.widgets.all.min.js"></script>

<div id="chart"></div>

Setup

function fibonacciSequenceSF(n) {
      var data = new Array(n);
      data[0] = {
        x: 0,
        y: 1
      };
      data[1] = {
        x: 1,
        y: 1
      };
      for (var i = 2; i < n; i++) {
        data[i] = {
          x: i,
          y: data[i - 1].y + data[i - 2].y
        };
      }
      return data;
    }
    
    function fibonacciSequenceK(n) {
      var data = [1, 1];
      for (var i = 2; i < n; i++) {
        data.push(data[i - 1] + data[i - 2]);
      }
      return data;
    }

Test runner

Ready to run.

Testing in
TestOps/sec
Kendo Chart
function createChart() {
  fibonacciSequenceSF(39);
  $("#chart").kendoChart({
    title: {
      text: "Fibonacci sequence"
    },
    series: [{
      data: fibonacciSequenceK(39)
    }],
    tooltip: {
      visible: true
    },
    valueAxis: {
      type: "log",
      minorGridLines: {
        visible: true
      }
    }
  });
}

$(document).ready(createChart);
ready
SyncFusion Chart
var pts = fibonacciSequenceSF(39);
var unused = fibonacciSequenceK(39);
var model = {
  series: [{
    animation: false,
    name: 'Fibonacci Sequence',
    points: pts,
    type: 'line'
  }],
  title: {
    text: "Chart Test"
  }
};

function createChart() {
  $("#chart").ejChart(model);
};

$(document).ready(createChart);
ready
HighCharts
$(function() {
  fibonacciSequenceSF(39);
  $('#container').highcharts({
    chart: {
      type: 'column'
    },
    title: {
      text: 'Monthly Average Rainfall'
    },
    subtitle: {
      text: 'Source: WorldClimate.com'
    },
    xAxis: {
      categories: [
        'Jan',
        'Feb',
        'Mar',
        'Apr',
        'May',
        'Jun',
        'Jul',
        'Aug',
        'Sep',
        'Oct',
        'Nov',
        'Dec'
      ]
    },
    yAxis: {
      min: 0,
      type: 'logarithmic',
      title: {
        text: 'Rainfall (mm)'
      }
    },
    tooltip: {
      headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
      pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' + '<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
      footerFormat: '</table>',
      shared: true,
      useHTML: true
    },
    plotOptions: {
      column: {
        pointPadding: 0.2,
        borderWidth: 0
      }
    },
    series: fibonacciSequenceK(39)
  });
});
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.

  • Revision 2: published on
  • Revision 3: published by Dan Liliedahl on
  • Revision 4: published by Dan Liliedahl on