Skip to content

Commit 45aa4cf

Browse files
Snehil-ShahUtkarsh Gupta
authored and
Utkarsh Gupta
committed
bench: update assert/is-boolean benchmarks to measure affirmative/negative test values
PR-URL: stdlib-js#1458 Signed-off-by: Snehil Shah <130062020+Snehil-Shah@users.noreply.github.com> Reviewed-by: Philipp Burckhardt <pburckhardt@outlook.com>
1 parent 9ad9c12 commit 45aa4cf

File tree

1 file changed

+109
-15
lines changed
  • lib/node_modules/@stdlib/assert/is-boolean/benchmark

1 file changed

+109
-15
lines changed

Diff for: lib/node_modules/@stdlib/assert/is-boolean/benchmark/benchmark.js

+109-15
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* limitations under the License.
1717
*/
1818

19-
/* eslint-disable no-new-wrappers, no-empty-function */
19+
/* eslint-disable no-empty-function */
2020

2121
'use strict';
2222

@@ -30,7 +30,32 @@ var isBoolean = require( './../lib' );
3030

3131
// MAIN //
3232

33-
bench( pkg+'::primitives', function benchmark( b ) {
33+
bench( pkg+'::primitives,true', function benchmark( b ) {
34+
var values;
35+
var bool;
36+
var i;
37+
38+
values = [
39+
true,
40+
false
41+
];
42+
43+
b.tic();
44+
for ( i = 0; i < b.iterations; i++ ) {
45+
bool = isBoolean( values[ i % values.length ] );
46+
if ( typeof bool !== 'boolean' ) {
47+
b.fail( 'should return a boolean' );
48+
}
49+
}
50+
b.toc();
51+
if ( !isBoolean.isPrimitive( bool ) ) {
52+
b.fail( 'should return a boolean' );
53+
}
54+
b.pass( 'benchmark finished' );
55+
b.end();
56+
});
57+
58+
bench( pkg+'::primitives,false', function benchmark( b ) {
3459
var values;
3560
var bool;
3661
var i;
@@ -39,8 +64,6 @@ bench( pkg+'::primitives', function benchmark( b ) {
3964
'5',
4065
5,
4166
NaN,
42-
true,
43-
false,
4467
null,
4568
void 0
4669
];
@@ -60,16 +83,40 @@ bench( pkg+'::primitives', function benchmark( b ) {
6083
b.end();
6184
});
6285

63-
bench( pkg+'::objects', function benchmark( b ) {
86+
bench( pkg+'::objects,true', function benchmark( b ) {
87+
var values;
88+
var bool;
89+
var i;
90+
91+
values = [
92+
new Boolean( true ),
93+
new Boolean( false )
94+
];
95+
96+
b.tic();
97+
for ( i = 0; i < b.iterations; i++ ) {
98+
bool = isBoolean( values[ i % values.length ] );
99+
if ( typeof bool !== 'boolean' ) {
100+
b.fail( 'should return a boolean' );
101+
}
102+
}
103+
b.toc();
104+
if ( !isBoolean.isPrimitive( bool ) ) {
105+
b.fail( 'should return a boolean' );
106+
}
107+
b.pass( 'benchmark finished' );
108+
b.end();
109+
});
110+
111+
bench( pkg+'::objects,false', function benchmark( b ) {
64112
var values;
65113
var bool;
66114
var i;
67115

68116
values = [
69117
[],
70118
{},
71-
function noop() {},
72-
new Boolean( true )
119+
function noop() {}
73120
];
74121

75122
b.tic();
@@ -87,7 +134,32 @@ bench( pkg+'::objects', function benchmark( b ) {
87134
b.end();
88135
});
89136

90-
bench( pkg+'::primitives:isPrimitive', function benchmark( b ) {
137+
bench( pkg+'::primitives:isPrimitive,true', function benchmark( b ) {
138+
var values;
139+
var bool;
140+
var i;
141+
142+
values = [
143+
true,
144+
false
145+
];
146+
147+
b.tic();
148+
for ( i = 0; i < b.iterations; i++ ) {
149+
bool = isBoolean.isPrimitive( values[ i % values.length ] );
150+
if ( typeof bool !== 'boolean' ) {
151+
b.fail( 'should return a boolean' );
152+
}
153+
}
154+
b.toc();
155+
if ( !isBoolean.isPrimitive( bool ) ) {
156+
b.fail( 'should return a boolean' );
157+
}
158+
b.pass( 'benchmark finished' );
159+
b.end();
160+
});
161+
162+
bench( pkg+'::primitives:isPrimitive,false', function benchmark( b ) {
91163
var values;
92164
var bool;
93165
var i;
@@ -96,8 +168,6 @@ bench( pkg+'::primitives:isPrimitive', function benchmark( b ) {
96168
'5',
97169
5,
98170
NaN,
99-
true,
100-
false,
101171
null,
102172
void 0
103173
];
@@ -117,7 +187,7 @@ bench( pkg+'::primitives:isPrimitive', function benchmark( b ) {
117187
b.end();
118188
});
119189

120-
bench( pkg+'::objects:isPrimitive', function benchmark( b ) {
190+
bench( pkg+'::objects:isPrimitive,false', function benchmark( b ) {
121191
var values;
122192
var bool;
123193
var i;
@@ -144,7 +214,7 @@ bench( pkg+'::objects:isPrimitive', function benchmark( b ) {
144214
b.end();
145215
});
146216

147-
bench( pkg+'::primitives:isObject', function benchmark( b ) {
217+
bench( pkg+'::primitives:isObject,false', function benchmark( b ) {
148218
var values;
149219
var bool;
150220
var i;
@@ -174,16 +244,40 @@ bench( pkg+'::primitives:isObject', function benchmark( b ) {
174244
b.end();
175245
});
176246

177-
bench( pkg+'::objects:isObject', function benchmark( b ) {
247+
bench( pkg+'::objects:isObject,true', function benchmark( b ) {
248+
var values;
249+
var bool;
250+
var i;
251+
252+
values = [
253+
new Boolean( true ),
254+
new Boolean( false )
255+
];
256+
257+
b.tic();
258+
for ( i = 0; i < b.iterations; i++ ) {
259+
bool = isBoolean.isObject( values[ i % values.length ] );
260+
if ( typeof bool !== 'boolean' ) {
261+
b.fail( 'should return a boolean' );
262+
}
263+
}
264+
b.toc();
265+
if ( !isBoolean.isPrimitive( bool ) ) {
266+
b.fail( 'should return a boolean' );
267+
}
268+
b.pass( 'benchmark finished' );
269+
b.end();
270+
});
271+
272+
bench( pkg+'::objects:isObject,false', function benchmark( b ) {
178273
var values;
179274
var bool;
180275
var i;
181276

182277
values = [
183278
[],
184279
{},
185-
function noop() {},
186-
new Boolean( true )
280+
function noop() {}
187281
];
188282

189283
b.tic();

0 commit comments

Comments
 (0)