Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 21 additions & 52 deletions lib/node_modules/@stdlib/utils/group-by/benchmark/benchmark.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@
// MODULES //

var bench = require( '@stdlib/bench' );
var randu = require( '@stdlib/random/base/randu' );
var floor = require( '@stdlib/math/base/special/floor' );
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var pkg = require( './../package.json' ).name;
var groupBy = require( './../lib' );

Expand All @@ -32,27 +31,21 @@
bench( pkg, function benchmark( b ) {
var vals;
var arr;
var len;
var o;
var i;
var j;

function indicator( v ) {
return v[ 0 ];
}

vals = [ 'beep', 'boop', 'foo', 'bar', 'woot' ];

arr = new Array( 100 );
len = arr.length;
for ( i = 0; i < len; i++ ) {
j = floor( randu()*vals.length );
arr[ i ] = vals[ j ];
}
arr = discreteUniform( 100, 0, vals.length-1, {
'dtype': 'generic'
});
b.tic();
for ( i = 0; i < b.iterations; i++ ) {
j = floor( randu()*vals.length );
arr[ 0 ] = vals[ j ];
arr[ 0 ] = i % vals.length;
o = groupBy( arr, indicator );
if ( typeof o !== 'object' ) {
b.fail( 'should return an object' );
Expand All @@ -66,14 +59,12 @@
b.end();
});

bench( pkg+'::values', function benchmark( b ) {

Check warning on line 62 in lib/node_modules/@stdlib/utils/group-by/benchmark/benchmark.js

View workflow job for this annotation

GitHub Actions / Lint Changed Files

Use `@stdlib/string/format` instead of string concatenation for benchmark descriptions
var opts;
var vals;
var arr;
var len;
var o;
var i;
var j;

function indicator( v ) {
return v[ 0 ];
Expand All @@ -84,16 +75,12 @@
opts = {
'returns': 'values'
};
arr = new Array( 100 );
len = arr.length;
for ( i = 0; i < len; i++ ) {
j = floor( randu()*vals.length );
arr[ i ] = vals[ j ];
}
arr = discreteUniform( 100, 0, vals.length-1, {
'dtype': 'generic'
});
b.tic();
for ( i = 0; i < b.iterations; i++ ) {
j = floor( randu()*vals.length );
arr[ 0 ] = vals[ j ];
arr[ 0 ] = i % vals.length;
o = groupBy( arr, opts, indicator );
if ( typeof o !== 'object' ) {
b.fail( 'should return an object' );
Expand All @@ -107,14 +94,12 @@
b.end();
});

bench( pkg+'::indices', function benchmark( b ) {

Check warning on line 97 in lib/node_modules/@stdlib/utils/group-by/benchmark/benchmark.js

View workflow job for this annotation

GitHub Actions / Lint Changed Files

Use `@stdlib/string/format` instead of string concatenation for benchmark descriptions
var opts;
var vals;
var arr;
var len;
var o;
var i;
var j;

function indicator( v ) {
return v[ 0 ];
Expand All @@ -125,16 +110,12 @@
opts = {
'returns': 'indices'
};
arr = new Array( 100 );
len = arr.length;
for ( i = 0; i < len; i++ ) {
j = floor( randu()*vals.length );
arr[ i ] = vals[ j ];
}
arr = discreteUniform( 100, 0, vals.length-1, {
'dtype': 'generic'
});
b.tic();
for ( i = 0; i < b.iterations; i++ ) {
j = floor( randu()*vals.length );
arr[ 0 ] = vals[ j ];
arr[ 0 ] = i % vals.length;
o = groupBy( arr, opts, indicator );
if ( typeof o !== 'object' ) {
b.fail( 'should return an object' );
Expand All @@ -148,14 +129,12 @@
b.end();
});

bench( pkg+'::pairs', function benchmark( b ) {

Check warning on line 132 in lib/node_modules/@stdlib/utils/group-by/benchmark/benchmark.js

View workflow job for this annotation

GitHub Actions / Lint Changed Files

Use `@stdlib/string/format` instead of string concatenation for benchmark descriptions
var opts;
var vals;
var arr;
var len;
var o;
var i;
var j;

function indicator( v ) {
return v[ 0 ];
Expand All @@ -166,16 +145,12 @@
opts = {
'returns': '*'
};
arr = new Array( 100 );
len = arr.length;
for ( i = 0; i < len; i++ ) {
j = floor( randu()*vals.length );
arr[ i ] = vals[ j ];
}
arr = discreteUniform( 100, 0, vals.length-1, {
'dtype': 'generic'
});
b.tic();
for ( i = 0; i < b.iterations; i++ ) {
j = floor( randu()*vals.length );
arr[ 0 ] = vals[ j ];
arr[ 0 ] = i % vals.length;
o = groupBy( arr, opts, indicator );
if ( typeof o !== 'object' ) {
b.fail( 'should return an object' );
Expand All @@ -189,14 +164,12 @@
b.end();
});

bench( pkg+'::this_context', function benchmark( b ) {

Check warning on line 167 in lib/node_modules/@stdlib/utils/group-by/benchmark/benchmark.js

View workflow job for this annotation

GitHub Actions / Lint Changed Files

Use `@stdlib/string/format` instead of string concatenation for benchmark descriptions
var opts;
var vals;
var arr;
var len;
var o;
var i;
var j;

function indicator( v ) {
return v[ 0 ];
Expand All @@ -207,16 +180,12 @@
opts = {
'thisArg': {}
};
arr = new Array( 100 );
len = arr.length;
for ( i = 0; i < len; i++ ) {
j = floor( randu()*vals.length );
arr[ i ] = vals[ j ];
}
arr = discreteUniform( 100, 0, vals.length-1, {
'dtype': 'generic'
});
b.tic();
for ( i = 0; i < b.iterations; i++ ) {
j = floor( randu()*vals.length );
arr[ 0 ] = vals[ j ];
arr[ 0 ] = i % vals.length;
o = groupBy( arr, opts, indicator );
if ( typeof o !== 'object' ) {
b.fail( 'should return an object' );
Expand Down
Loading