Plotly clustered bar performance

by hy9be uva

HTML

<script src="https://cdn.plot.ly/plotly-basic-1.25.2.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chance/1.0.6/chance.min.js"></script>
<div id="myDiv"></div>

JavaScript

function out() {
    var args = Array.prototype.slice.call(arguments, 0);
    document.getElementById('output').innerHTML += args.join(" ") + "\n";
}

var x = [], y = [],
        traceNo = 10, 
        pointPerTrace = 70;

    for (var g = 0; g < traceNo; g++) {
        y.push([]);
        for (var i = 0; i < pointPerTrace; i++) {
            y[g].push(chance.floating({min: 0, max: 20}));
        }
    }

    for (var i = 0; i < pointPerTrace; i++) {
        x.push(chance.name());
    }

    var data = [];

    for (var g = 0; g < traceNo; g++) {
        data.push({
            x: x,
            y: y[g],
            name: 'Group' + g.toString(),
            type: 'bar'
        })
    }

    var layout = {barmode: 'group'};

var start = window.performance.now();
Plotly.newPlot('myDiv', data, layout);
var end = window.performance.now();
out(end - start + 'ms');