Skip to content

Commit b4bb29d

Browse files
committed
collect performance data and create test report
1 parent e83dbec commit b4bb29d

File tree

2 files changed

+42
-18
lines changed

2 files changed

+42
-18
lines changed

test/jasmine/performance_tests/bar_test.js

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ var PlotlyBar = require('../../../lib/bar');
66

77
var gd = createGraphDiv();
88

9-
[{
9+
var tests = [{
1010
n: 1000, averageCap: 75
1111
}, {
1212
n: 2000, averageCap: 100
@@ -20,13 +20,15 @@ var gd = createGraphDiv();
2020
n: 32000, averageCap: 1200
2121
}, {
2222
n: 64000, averageCap: 2400
23-
}].forEach(function(spec) {
23+
}];
24+
25+
tests.forEach(function(spec, index) {
2426
describe('Bundle with bar | size:' + spec.n, function() {
2527
'use strict';
2628

2729
Plotly.register(PlotlyBar);
2830

29-
const samples = Array.from({ length: 5 }, (_, i) => i);
31+
const samples = Array.from({ length: 9 }, (_, i) => i);
3032
const nTimes = samples.length - 1;
3133

3234
var y = Float64Array.from({ length: spec.n }, (_, i) => i * Math.cos(Math.sqrt(i)));
@@ -62,27 +64,37 @@ var gd = createGraphDiv();
6264
var delta = Date.now() - startTime;
6365

6466
if(t === 0) {
65-
console.log('________________________________');
66-
console.log('number of points in bar: ' + spec.n);
67-
console.log('expected average (cap): ' + spec.averageCap + ' ms');
67+
// console.log('________________________________');
68+
// console.log('number of points: ' + spec.n);
69+
// console.log('expected average (cap): ' + spec.averageCap + ' ms');
70+
71+
tests[index].raw = [];
6872
}
73+
tests[index].raw[t] = delta;
6974

7075
if(t > 0) { // we skip the first run which is slow
7176
maxDelta = Math.max(maxDelta, delta);
7277
aveDelta += delta / nTimes;
7378
}
7479

75-
console.log('turn: ' + t + ' | ' + delta + ' ms');
80+
// console.log('turn: ' + t + ' | ' + delta + ' ms');
7681

7782
if(t === nTimes) {
78-
console.log('max: ' + maxDelta);
79-
console.log('ave: ' + aveDelta);
83+
tests[index].average = aveDelta;
84+
tests[index].maximum = maxDelta;
85+
86+
// console.log('max: ' + maxDelta);
87+
// console.log('ave: ' + aveDelta);
8088

8189
expect(aveDelta).toBeLessThan(spec.averageCap);
8290
}
8391

8492
var nodes = d3SelectAll('g.trace.bars');
8593
expect(nodes.size()).toEqual(1);
94+
95+
if(t === nTimes && index === tests.length - 1) {
96+
console.log(JSON.stringify(tests, null, 2));
97+
}
8698
});
8799
});
88100
});

test/jasmine/performance_tests/scatter_test.js

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ var Plotly = require('../../../lib/core');
55

66
var gd = createGraphDiv();
77

8-
[{
8+
var tests = [{
99
n: 1000, averageCap: 75
1010
}, {
1111
n: 2000, averageCap: 100
@@ -19,11 +19,13 @@ var gd = createGraphDiv();
1919
n: 32000, averageCap: 1200
2020
}, {
2121
n: 64000, averageCap: 2400
22-
}].forEach(function(spec) {
22+
}];
23+
24+
tests.forEach(function(spec, index) {
2325
describe('Bundle with scatter | size:' + spec.n, function() {
2426
'use strict';
2527

26-
const samples = Array.from({ length: 5 }, (_, i) => i);
28+
const samples = Array.from({ length: 9 }, (_, i) => i);
2729
const nTimes = samples.length - 1;
2830

2931
var y = Float64Array.from({ length: spec.n }, (_, i) => i * Math.cos(Math.sqrt(i)));
@@ -60,27 +62,37 @@ var gd = createGraphDiv();
6062
var delta = Date.now() - startTime;
6163

6264
if(t === 0) {
63-
console.log('________________________________');
64-
console.log('number of points in scatter: ' + spec.n);
65-
console.log('expected average (cap): ' + spec.averageCap + ' ms');
65+
// console.log('________________________________');
66+
// console.log('number of points: ' + spec.n);
67+
// console.log('expected average (cap): ' + spec.averageCap + ' ms');
68+
69+
tests[index].raw = [];
6670
}
71+
tests[index].raw[t] = delta;
6772

6873
if(t > 0) { // we skip the first run which is slow
6974
maxDelta = Math.max(maxDelta, delta);
7075
aveDelta += delta / nTimes;
7176
}
7277

73-
console.log('turn: ' + t + ' | ' + delta + ' ms');
78+
// console.log('turn: ' + t + ' | ' + delta + ' ms');
7479

7580
if(t === nTimes) {
76-
console.log('max: ' + maxDelta);
77-
console.log('ave: ' + aveDelta);
81+
tests[index].average = aveDelta;
82+
tests[index].maximum = maxDelta;
83+
84+
// console.log('max: ' + maxDelta);
85+
// console.log('ave: ' + aveDelta);
7886

7987
expect(aveDelta).toBeLessThan(spec.averageCap);
8088
}
8189

8290
var nodes = d3SelectAll('g.trace.scatter');
8391
expect(nodes.size()).toEqual(1);
92+
93+
if(t === nTimes && index === tests.length - 1) {
94+
console.log(JSON.stringify(tests, null, 2));
95+
}
8496
});
8597
});
8698
});

0 commit comments

Comments
 (0)