Skip to content

Commit 543478e

Browse files
committed
extend bar
1 parent b6dac79 commit 543478e

File tree

1 file changed

+99
-21
lines changed

1 file changed

+99
-21
lines changed

test/jasmine/performance_tests/bar_test.js

Lines changed: 99 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,41 +14,119 @@ const samples = Array.from({ length: nSamples }, (_, i) => i);
1414
const nTimes = samples.length - 1;
1515

1616
var tests = [{
17-
n: 1000
17+
n: 1000, mode: 'group', nTraces: 1
1818
}, {
19-
n: 2000
19+
n: 2000, mode: 'group', nTraces: 1
2020
}, {
21-
n: 4000
21+
n: 4000, mode: 'group', nTraces: 1
2222
}, {
23-
n: 8000
23+
n: 8000, mode: 'group', nTraces: 1
2424
}, {
25-
n: 16000
25+
n: 16000, mode: 'group', nTraces: 1
2626
}, {
27-
n: 32000
27+
n: 32000, mode: 'group', nTraces: 1
2828
}, {
29-
n: 64000
29+
n: 64000, mode: 'group', nTraces: 1
30+
}, {
31+
n: 1000, mode: 'stack', nTraces: 1
32+
}, {
33+
n: 2000, mode: 'stack', nTraces: 1
34+
}, {
35+
n: 4000, mode: 'stack', nTraces: 1
36+
}, {
37+
n: 8000, mode: 'stack', nTraces: 1
38+
}, {
39+
n: 16000, mode: 'stack', nTraces: 1
40+
}, {
41+
n: 32000, mode: 'stack', nTraces: 1
42+
}, {
43+
n: 64000, mode: 'stack', nTraces: 1
44+
}, {
45+
n: 1000, mode: 'group', nTraces: 10
46+
}, {
47+
n: 2000, mode: 'group', nTraces: 10
48+
}, {
49+
n: 4000, mode: 'group', nTraces: 10
50+
}, {
51+
n: 8000, mode: 'group', nTraces: 10
52+
}, {
53+
n: 16000, mode: 'group', nTraces: 10
54+
}, {
55+
n: 32000, mode: 'group', nTraces: 10
56+
}, {
57+
n: 64000, mode: 'group', nTraces: 10
58+
}, {
59+
n: 1000, mode: 'stack', nTraces: 10
60+
}, {
61+
n: 2000, mode: 'stack', nTraces: 10
62+
}, {
63+
n: 4000, mode: 'stack', nTraces: 10
64+
}, {
65+
n: 8000, mode: 'stack', nTraces: 10
66+
}, {
67+
n: 16000, mode: 'stack', nTraces: 10
68+
}, {
69+
n: 32000, mode: 'stack', nTraces: 10
70+
}, {
71+
n: 64000, mode: 'stack', nTraces: 10
72+
}, {
73+
n: 1000, mode: 'group', nTraces: 100
74+
}, {
75+
n: 2000, mode: 'group', nTraces: 100
76+
}, {
77+
n: 4000, mode: 'group', nTraces: 100
78+
}, {
79+
n: 8000, mode: 'group', nTraces: 100
80+
}, {
81+
n: 16000, mode: 'group', nTraces: 100
82+
}, {
83+
n: 32000, mode: 'group', nTraces: 100
84+
}, {
85+
n: 64000, mode: 'group', nTraces: 100
86+
}, {
87+
n: 1000, mode: 'stack', nTraces: 100
88+
}, {
89+
n: 2000, mode: 'stack', nTraces: 100
90+
}, {
91+
n: 4000, mode: 'stack', nTraces: 100
92+
}, {
93+
n: 8000, mode: 'stack', nTraces: 100
94+
}, {
95+
n: 16000, mode: 'stack', nTraces: 100
96+
}, {
97+
n: 32000, mode: 'stack', nTraces: 100
98+
}, {
99+
n: 64000, mode: 'stack', nTraces: 100
30100
}];
31101

32102
tests.forEach(function(spec, index) {
33-
describe('Performance test bar | size:' + spec.n, function() {
103+
describe('Performance test ' + spec.nTraces + 'bar | size:' + spec.n + ' | mode: ' + spec.mode, function() {
34104
'use strict';
35105

36-
var y = Float64Array.from({ length: spec.n }, (_, i) => i * Math.cos(Math.sqrt(i)));
106+
var startTime, endTime;
37107

38-
var mock = {
39-
data: [{
40-
type: 'bar',
41-
y: y
42-
}],
43-
layout: {
44-
width: 900,
45-
height: 400
108+
beforeEach(function(done) {
109+
var y = Array.from({ length: spec.n }, (_, i) => i * Math.cos(Math.sqrt(i)));
110+
var data = [];
111+
var nPerTrace = Math.floor(spec.n / spec.nTraces);
112+
for(var k = 0; k < spec.nTraces; k++) {
113+
data.push({
114+
type: 'bar',
115+
y: y.slice(k * nPerTrace, (k + 1) * nPerTrace),
116+
x: Array.from({ length: nPerTrace }, (_, i) => i)
117+
});
46118
}
47-
};
48119

49-
var startTime, endTime;
120+
var mock = {
121+
data: data,
122+
layout: {
123+
barmode: spec.mode,
124+
showlegend: false,
125+
width: 900,
126+
height: 400
127+
}
128+
};
50129

51-
beforeEach(function(done) {
52130
startTime = performance.now();
53131

54132
// Wait for actual rendering to complete
@@ -76,7 +154,7 @@ tests.forEach(function(spec, index) {
76154
tests[index].raw[t] = delta;
77155

78156
var nodes = d3SelectAll('g.trace.bars');
79-
expect(nodes.size()).toEqual(1);
157+
expect(nodes.size()).toEqual(spec.nTraces);
80158

81159
if(t === nTimes && index === tests.length - 1) {
82160
writeRawDataAsCSV('bar', tests);

0 commit comments

Comments
 (0)