-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathbenchmark-results.html
62 lines (51 loc) · 1.6 KB
/
benchmark-results.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<!DOCTYPE html>
<html>
<head>
<title>Benchmarking time!</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.1.6/Chart.bundle.min.js"></script>
<script>
(function () {
var xhr = new XMLHttpRequest();
xhr.open('GET', './benchmark-results.json', false);
xhr.send();
var data = JSON.parse(xhr.response);
var benchmarks = Object.keys(data);
var frameworks = {};
benchmarks.forEach(function (benchmark, i) {
var results = data[benchmark];
Object.keys(results).forEach(function (framework) {
var datapoints = frameworks[framework];
if (!datapoints) {
datapoints = frameworks[framework] = [];
}
datapoints[i] = results[framework].hz.toFixed(3);
});
});
var colors = ['#E880A2', '#3BBBB2'];
var datasets = Object.keys(frameworks).map(function (framework, i) {
return {
label: framework,
backgroundColor: colors[i],
data: frameworks[framework],
};
});
window.addEventListener('load', () => {
var myBarChart = new Chart(document.getElementById('chart'), {
type: 'bar',
data: {
labels: benchmarks,
datasets: datasets
},
});
});
})();
</script>
</head>
<body>
<h1>Functional Reactive State Benchmarks</h1>
<p>numbers are ops/s (higher is better),
data is taken from <a href="./benchmark-results.json">benchmark-results.json</a>
which is generated by running the benchmarks in <a href="https://github.com/ds300/derivablejs/tree/master/benchmarks">/benchmarks</a></p>
<canvas id="chart" width=800 height=400></canvas>
</body>
</html>