From 8f185b2eeafa27d731dc03825283e0dcf6afb4e9 Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Mon, 13 Apr 2026 01:11:47 -0400 Subject: [PATCH 1/3] bench: refactor to use string interpolation in `@stdlib/random` --- .../@stdlib/random/sample/benchmark/benchmark.js | 11 ++++++----- .../@stdlib/random/shuffle/benchmark/benchmark.js | 7 ++++--- .../binary-factory/benchmark/benchmark.assign.js | 3 ++- .../binary-factory/benchmark/benchmark.factory.js | 3 ++- .../tools/binary-factory/benchmark/benchmark.js | 3 ++- .../binary-factory/benchmark/benchmark.length.js | 3 ++- .../random/tools/binary/benchmark/benchmark.assign.js | 3 ++- .../tools/binary/benchmark/benchmark.generate.js | 3 ++- .../random/tools/binary/benchmark/benchmark.js | 3 ++- .../tools/unary-factory/benchmark/benchmark.assign.js | 3 ++- .../unary-factory/benchmark/benchmark.factory.js | 3 ++- .../random/tools/unary-factory/benchmark/benchmark.js | 3 ++- .../tools/unary-factory/benchmark/benchmark.length.js | 3 ++- .../random/tools/unary/benchmark/benchmark.assign.js | 3 ++- .../tools/unary/benchmark/benchmark.generate.js | 3 ++- .../@stdlib/random/tools/unary/benchmark/benchmark.js | 3 ++- 16 files changed, 38 insertions(+), 22 deletions(-) diff --git a/lib/node_modules/@stdlib/random/sample/benchmark/benchmark.js b/lib/node_modules/@stdlib/random/sample/benchmark/benchmark.js index 364b665ca260..f6c3eb415051 100644 --- a/lib/node_modules/@stdlib/random/sample/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/random/sample/benchmark/benchmark.js @@ -24,6 +24,7 @@ var bench = require( '@stdlib/bench' ); var randu = require( '@stdlib/random/base/randu' ); var floor = require( '@stdlib/math/base/special/floor' ); var isArray = require( '@stdlib/assert/is-array' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var sample = require( './../lib' ); @@ -57,7 +58,7 @@ bench( pkg, function benchmark( b ) { b.end(); }); -bench( pkg+'::custom_probs', function benchmark( b ) { +bench( format( '%s::custom_probs', pkg ), function benchmark( b ) { var result; var probs; var arr; @@ -89,7 +90,7 @@ bench( pkg+'::custom_probs', function benchmark( b ) { b.end(); }); -bench( pkg+'::size=1000', function benchmark( b ) { +bench( format( '%s::size=1000', pkg ), function benchmark( b ) { var result; var arr; var len; @@ -118,7 +119,7 @@ bench( pkg+'::size=1000', function benchmark( b ) { b.end(); }); -bench( pkg+'::replace=true', function benchmark( b ) { +bench( format( '%s::replace=true', pkg ), function benchmark( b ) { var result; var arr; var len; @@ -147,7 +148,7 @@ bench( pkg+'::replace=true', function benchmark( b ) { b.end(); }); -bench( pkg+'::replace=true,size=1000', function benchmark( b ) { +bench( format( '%s::replace=true,size=1000', pkg ), function benchmark( b ) { var result; var arr; var len; @@ -177,7 +178,7 @@ bench( pkg+'::replace=true,size=1000', function benchmark( b ) { b.end(); }); -bench( pkg+':factory', function benchmark( b ) { +bench( format( '%s:factory', pkg ), function benchmark( b ) { var mysample; var result; var arr; diff --git a/lib/node_modules/@stdlib/random/shuffle/benchmark/benchmark.js b/lib/node_modules/@stdlib/random/shuffle/benchmark/benchmark.js index dcca69376e6b..2c0fb4247397 100644 --- a/lib/node_modules/@stdlib/random/shuffle/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/random/shuffle/benchmark/benchmark.js @@ -24,6 +24,7 @@ var bench = require( '@stdlib/bench' ); var randu = require( '@stdlib/random/base/randu' ); var floor = require( '@stdlib/math/base/special/floor' ); var isArray = require( '@stdlib/assert/is-array' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var shuffle = require( './../lib' ); @@ -57,7 +58,7 @@ bench( pkg, function benchmark( b ) { b.end(); }); -bench( pkg+'::deep', function benchmark( b ) { +bench( format( '%s::deep', pkg ), function benchmark( b ) { var result; var arr; var len; @@ -88,7 +89,7 @@ bench( pkg+'::deep', function benchmark( b ) { b.end(); }); -bench( pkg+'::none', function benchmark( b ) { +bench( format( '%s::none', pkg ), function benchmark( b ) { var result; var arr; var len; @@ -123,7 +124,7 @@ bench( pkg+'::none', function benchmark( b ) { b.end(); }); -bench( pkg+':factory', function benchmark( b ) { +bench( format( '%s:factory', pkg ), function benchmark( b ) { var myshuffle; var result; var arr; diff --git a/lib/node_modules/@stdlib/random/tools/binary-factory/benchmark/benchmark.assign.js b/lib/node_modules/@stdlib/random/tools/binary-factory/benchmark/benchmark.assign.js index 0ddb3712da59..c6393be22070 100644 --- a/lib/node_modules/@stdlib/random/tools/binary-factory/benchmark/benchmark.assign.js +++ b/lib/node_modules/@stdlib/random/tools/binary-factory/benchmark/benchmark.assign.js @@ -26,6 +26,7 @@ var pow = require( '@stdlib/math/base/special/pow' ); var dtypes = require( '@stdlib/ndarray/dtypes' ); var uniform = require( '@stdlib/random/base/uniform' ); var zeros = require( '@stdlib/ndarray/zeros' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var createFactory = require( './../lib' ); @@ -105,7 +106,7 @@ function main() { for ( i = min; i <= max; i++ ) { len = pow( 10, i ); f = createBenchmark( len ); - bench( pkg+':assign:len='+len, f ); + bench( format( '%s:assign:len=%d', pkg, len ), f ); } } diff --git a/lib/node_modules/@stdlib/random/tools/binary-factory/benchmark/benchmark.factory.js b/lib/node_modules/@stdlib/random/tools/binary-factory/benchmark/benchmark.factory.js index 32db1b6d3e36..5a68601959ba 100644 --- a/lib/node_modules/@stdlib/random/tools/binary-factory/benchmark/benchmark.factory.js +++ b/lib/node_modules/@stdlib/random/tools/binary-factory/benchmark/benchmark.factory.js @@ -22,13 +22,14 @@ var bench = require( '@stdlib/bench' ); var uniform = require( '@stdlib/random/base/uniform' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var createFactory = require( './../lib' ); // MAIN // -bench( pkg+'::factory', function benchmark( b ) { +bench( format( '%s::factory', pkg ), function benchmark( b ) { var policies; var factory; var dtypes; diff --git a/lib/node_modules/@stdlib/random/tools/binary-factory/benchmark/benchmark.js b/lib/node_modules/@stdlib/random/tools/binary-factory/benchmark/benchmark.js index ced4067bb771..71ed78cbd3a6 100644 --- a/lib/node_modules/@stdlib/random/tools/binary-factory/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/random/tools/binary-factory/benchmark/benchmark.js @@ -22,13 +22,14 @@ var bench = require( '@stdlib/bench' ); var uniform = require( '@stdlib/random/base/uniform' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var createFactory = require( './../lib' ); // MAIN // -bench( pkg+'::create_factory', function benchmark( b ) { +bench( format( '%s::create_factory', pkg ), function benchmark( b ) { var policies; var dtypes; var v; diff --git a/lib/node_modules/@stdlib/random/tools/binary-factory/benchmark/benchmark.length.js b/lib/node_modules/@stdlib/random/tools/binary-factory/benchmark/benchmark.length.js index f3e55abdcdc7..280a20d6c806 100644 --- a/lib/node_modules/@stdlib/random/tools/binary-factory/benchmark/benchmark.length.js +++ b/lib/node_modules/@stdlib/random/tools/binary-factory/benchmark/benchmark.length.js @@ -25,6 +25,7 @@ var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pow = require( '@stdlib/math/base/special/pow' ); var dtypes = require( '@stdlib/ndarray/dtypes' ); var uniform = require( '@stdlib/random/base/uniform' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var createFactory = require( './../lib' ); @@ -101,7 +102,7 @@ function main() { for ( i = min; i <= max; i++ ) { len = pow( 10, i ); f = createBenchmark( len ); - bench( pkg+'::generate:len='+len, f ); + bench( format( '%s::generate:len=%d', pkg, len ), f ); } } diff --git a/lib/node_modules/@stdlib/random/tools/binary/benchmark/benchmark.assign.js b/lib/node_modules/@stdlib/random/tools/binary/benchmark/benchmark.assign.js index a484e103aa6c..12232a9ed619 100644 --- a/lib/node_modules/@stdlib/random/tools/binary/benchmark/benchmark.assign.js +++ b/lib/node_modules/@stdlib/random/tools/binary/benchmark/benchmark.assign.js @@ -26,6 +26,7 @@ var pow = require( '@stdlib/math/base/special/pow' ); var dtypes = require( '@stdlib/ndarray/dtypes' ); var uniform = require( '@stdlib/random/base/uniform' ); var zeros = require( '@stdlib/ndarray/zeros' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var Random = require( './../lib' ); @@ -105,7 +106,7 @@ function main() { for ( i = min; i <= max; i++ ) { len = pow( 10, i ); f = createBenchmark( len ); - bench( pkg+':assign:len='+len, f ); + bench( format( '%s:assign:len=%d', pkg, len ), f ); } } diff --git a/lib/node_modules/@stdlib/random/tools/binary/benchmark/benchmark.generate.js b/lib/node_modules/@stdlib/random/tools/binary/benchmark/benchmark.generate.js index 45d86c50dd9e..e132cd87de5c 100644 --- a/lib/node_modules/@stdlib/random/tools/binary/benchmark/benchmark.generate.js +++ b/lib/node_modules/@stdlib/random/tools/binary/benchmark/benchmark.generate.js @@ -25,6 +25,7 @@ var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pow = require( '@stdlib/math/base/special/pow' ); var dtypes = require( '@stdlib/ndarray/dtypes' ); var uniform = require( '@stdlib/random/base/uniform' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var Random = require( './../lib' ); @@ -99,7 +100,7 @@ function main() { for ( i = min; i <= max; i++ ) { len = pow( 10, i ); f = createBenchmark( len ); - bench( pkg+':generate:len='+len, f ); + bench( format( '%s:generate:len=%d', pkg, len ), f ); } } diff --git a/lib/node_modules/@stdlib/random/tools/binary/benchmark/benchmark.js b/lib/node_modules/@stdlib/random/tools/binary/benchmark/benchmark.js index 476760f13832..13e6fc6d0b6f 100644 --- a/lib/node_modules/@stdlib/random/tools/binary/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/random/tools/binary/benchmark/benchmark.js @@ -22,13 +22,14 @@ var bench = require( '@stdlib/bench' ); var uniform = require( '@stdlib/random/base/uniform' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var Random = require( './../lib' ); // MAIN // -bench( pkg+'::instantiation', function benchmark( b ) { +bench( format( '%s::instantiation', pkg ), function benchmark( b ) { var policies; var dtypes; var v; diff --git a/lib/node_modules/@stdlib/random/tools/unary-factory/benchmark/benchmark.assign.js b/lib/node_modules/@stdlib/random/tools/unary-factory/benchmark/benchmark.assign.js index e3ef4321f119..68ef0b3baa3f 100644 --- a/lib/node_modules/@stdlib/random/tools/unary-factory/benchmark/benchmark.assign.js +++ b/lib/node_modules/@stdlib/random/tools/unary-factory/benchmark/benchmark.assign.js @@ -26,6 +26,7 @@ var pow = require( '@stdlib/math/base/special/pow' ); var dtypes = require( '@stdlib/ndarray/dtypes' ); var exponential = require( '@stdlib/random/base/exponential' ); var zeros = require( '@stdlib/ndarray/zeros' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var createFactory = require( './../lib' ); @@ -107,7 +108,7 @@ function main() { for ( i = min; i <= max; i++ ) { len = pow( 10, i ); f = createBenchmark( len ); - bench( pkg+':assign:len='+len, f ); + bench( format( '%s:assign:len=%d', pkg, len ), f ); } } diff --git a/lib/node_modules/@stdlib/random/tools/unary-factory/benchmark/benchmark.factory.js b/lib/node_modules/@stdlib/random/tools/unary-factory/benchmark/benchmark.factory.js index 2c9bd958b47a..02a1863fe6d3 100644 --- a/lib/node_modules/@stdlib/random/tools/unary-factory/benchmark/benchmark.factory.js +++ b/lib/node_modules/@stdlib/random/tools/unary-factory/benchmark/benchmark.factory.js @@ -22,13 +22,14 @@ var bench = require( '@stdlib/bench' ); var exponential = require( '@stdlib/random/base/exponential' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var createFactory = require( './../lib' ); // MAIN // -bench( pkg+'::factory', function benchmark( b ) { +bench( format( '%s::factory', pkg ), function benchmark( b ) { var policies; var factory; var dtypes; diff --git a/lib/node_modules/@stdlib/random/tools/unary-factory/benchmark/benchmark.js b/lib/node_modules/@stdlib/random/tools/unary-factory/benchmark/benchmark.js index 51ed9e60d3b8..32f04e81e5ab 100644 --- a/lib/node_modules/@stdlib/random/tools/unary-factory/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/random/tools/unary-factory/benchmark/benchmark.js @@ -22,13 +22,14 @@ var bench = require( '@stdlib/bench' ); var exponential = require( '@stdlib/random/base/exponential' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var createFactory = require( './../lib' ); // MAIN // -bench( pkg+'::create_factory', function benchmark( b ) { +bench( format( '%s::create_factory', pkg ), function benchmark( b ) { var policies; var dtypes; var v; diff --git a/lib/node_modules/@stdlib/random/tools/unary-factory/benchmark/benchmark.length.js b/lib/node_modules/@stdlib/random/tools/unary-factory/benchmark/benchmark.length.js index 50244a4264f2..21a527c56810 100644 --- a/lib/node_modules/@stdlib/random/tools/unary-factory/benchmark/benchmark.length.js +++ b/lib/node_modules/@stdlib/random/tools/unary-factory/benchmark/benchmark.length.js @@ -25,6 +25,7 @@ var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pow = require( '@stdlib/math/base/special/pow' ); var dtypes = require( '@stdlib/ndarray/dtypes' ); var exponential = require( '@stdlib/random/base/exponential' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var createFactory = require( './../lib' ); @@ -101,7 +102,7 @@ function main() { for ( i = min; i <= max; i++ ) { len = pow( 10, i ); f = createBenchmark( len ); - bench( pkg+'::generate:len='+len, f ); + bench( format( '%s::generate:len=%d', pkg, len ), f ); } } diff --git a/lib/node_modules/@stdlib/random/tools/unary/benchmark/benchmark.assign.js b/lib/node_modules/@stdlib/random/tools/unary/benchmark/benchmark.assign.js index 4ea2078e9f29..cd43c5fb4024 100644 --- a/lib/node_modules/@stdlib/random/tools/unary/benchmark/benchmark.assign.js +++ b/lib/node_modules/@stdlib/random/tools/unary/benchmark/benchmark.assign.js @@ -26,6 +26,7 @@ var pow = require( '@stdlib/math/base/special/pow' ); var dtypes = require( '@stdlib/ndarray/dtypes' ); var exponential = require( '@stdlib/random/base/exponential' ); var zeros = require( '@stdlib/ndarray/zeros' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var Random = require( './../lib' ); @@ -105,7 +106,7 @@ function main() { for ( i = min; i <= max; i++ ) { len = pow( 10, i ); f = createBenchmark( len ); - bench( pkg+':assign:len='+len, f ); + bench( format( '%s:assign:len=%d', pkg, len ), f ); } } diff --git a/lib/node_modules/@stdlib/random/tools/unary/benchmark/benchmark.generate.js b/lib/node_modules/@stdlib/random/tools/unary/benchmark/benchmark.generate.js index 989e38458bcf..6e81a89441aa 100644 --- a/lib/node_modules/@stdlib/random/tools/unary/benchmark/benchmark.generate.js +++ b/lib/node_modules/@stdlib/random/tools/unary/benchmark/benchmark.generate.js @@ -25,6 +25,7 @@ var isnan = require( '@stdlib/math/base/assert/is-nan' ); var pow = require( '@stdlib/math/base/special/pow' ); var dtypes = require( '@stdlib/ndarray/dtypes' ); var exponential = require( '@stdlib/random/base/exponential' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var Random = require( './../lib' ); @@ -99,7 +100,7 @@ function main() { for ( i = min; i <= max; i++ ) { len = pow( 10, i ); f = createBenchmark( len ); - bench( pkg+':generate:len='+len, f ); + bench( format( '%s:generate:len=%d', pkg, len ), f ); } } diff --git a/lib/node_modules/@stdlib/random/tools/unary/benchmark/benchmark.js b/lib/node_modules/@stdlib/random/tools/unary/benchmark/benchmark.js index de4956c8fb28..f7e514a19739 100644 --- a/lib/node_modules/@stdlib/random/tools/unary/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/random/tools/unary/benchmark/benchmark.js @@ -22,13 +22,14 @@ var bench = require( '@stdlib/bench' ); var exponential = require( '@stdlib/random/base/exponential' ); +var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var Random = require( './../lib' ); // MAIN // -bench( pkg+'::instantiation', function benchmark( b ) { +bench( format( '%s::instantiation', pkg ), function benchmark( b ) { var policies; var dtypes; var v; From 34891c409c5daf66bce003a307ef9c00f557821c Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Sun, 19 Apr 2026 00:33:39 -0400 Subject: [PATCH 2/3] bench: refactor random number generation in `random/sample` --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: passed - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../random/sample/benchmark/benchmark.js | 57 +++++++------------ 1 file changed, 19 insertions(+), 38 deletions(-) diff --git a/lib/node_modules/@stdlib/random/sample/benchmark/benchmark.js b/lib/node_modules/@stdlib/random/sample/benchmark/benchmark.js index f6c3eb415051..70cb9c479398 100644 --- a/lib/node_modules/@stdlib/random/sample/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/random/sample/benchmark/benchmark.js @@ -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 isArray = require( '@stdlib/assert/is-array' ); var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; @@ -34,14 +33,11 @@ var sample = require( './../lib' ); bench( pkg, function benchmark( b ) { var result; var arr; - var len; var i; - arr = new Array( 100 ); - len = arr.length; - for ( i = 0; i < len; i++ ) { - arr[ i ] = floor( randu()*100.0 ); - } + arr = discreteUniform( 100, 0, 100, { + 'dtype': 'generic' + }); b.tic(); for ( i = 0; i < b.iterations; i++ ) { @@ -62,15 +58,12 @@ bench( format( '%s::custom_probs', pkg ), function benchmark( b ) { var result; var probs; var arr; - var len; var i; - arr = [ 1, 2, 3, 4, 5, 6 ]; + arr = discreteUniform( 6, 0, 100, { + 'dtype': 'generic' + }); probs = [ 0.2, 0.1, 0.1, 0.1, 0.2, 0.3 ]; - len = arr.length; - for ( i = 0; i < len; i++ ) { - arr[ i ] = floor( randu()*100.0 ); - } b.tic(); for ( i = 0; i < b.iterations; i++ ) { @@ -93,14 +86,11 @@ bench( format( '%s::custom_probs', pkg ), function benchmark( b ) { bench( format( '%s::size=1000', pkg ), function benchmark( b ) { var result; var arr; - var len; var i; - arr = new Array( 100 ); - len = arr.length; - for ( i = 0; i < len; i++ ) { - arr[ i ] = floor( randu()*100.0 ); - } + arr = discreteUniform( 100, 0, 100, { + 'dtype': 'generic' + }); b.tic(); for ( i = 0; i < b.iterations; i++ ) { @@ -122,14 +112,11 @@ bench( format( '%s::size=1000', pkg ), function benchmark( b ) { bench( format( '%s::replace=true', pkg ), function benchmark( b ) { var result; var arr; - var len; var i; - arr = new Array( 100 ); - len = arr.length; - for ( i = 0; i < len; i++ ) { - arr[ i ] = floor( randu()*100.0 ); - } + arr = discreteUniform( 100, 0, 100, { + 'dtype': 'generic' + }); b.tic(); for ( i = 0; i < b.iterations; i++ ) { @@ -151,14 +138,11 @@ bench( format( '%s::replace=true', pkg ), function benchmark( b ) { bench( format( '%s::replace=true,size=1000', pkg ), function benchmark( b ) { var result; var arr; - var len; var i; - arr = new Array( 100 ); - len = arr.length; - for ( i = 0; i < len; i++ ) { - arr[ i ] = floor( randu()*100.0 ); - } + arr = discreteUniform( 100, 0, 100, { + 'dtype': 'generic' + }); b.tic(); for ( i = 0; i < b.iterations; i++ ) { @@ -182,16 +166,13 @@ bench( format( '%s:factory', pkg ), function benchmark( b ) { var mysample; var result; var arr; - var len; var i; mysample = sample.factory(); - arr = new Array( 100 ); - len = arr.length; - for ( i = 0; i < len; i++ ) { - arr[ i ] = floor( randu()*100.0 ); - } + arr = discreteUniform( 100, 0, 100, { + 'dtype': 'generic' + }); b.tic(); for ( i = 0; i < b.iterations; i++ ) { From 8d4f755d69aaed9099c0f86aa15eba6e3ad0e6a7 Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Sun, 19 Apr 2026 00:43:59 -0400 Subject: [PATCH 3/3] bench: refactor random number generation in `random/shuffle` --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: passed - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../random/shuffle/benchmark/benchmark.js | 40 +++++++------------ 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/lib/node_modules/@stdlib/random/shuffle/benchmark/benchmark.js b/lib/node_modules/@stdlib/random/shuffle/benchmark/benchmark.js index 2c0fb4247397..302cb0bea1b1 100644 --- a/lib/node_modules/@stdlib/random/shuffle/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/random/shuffle/benchmark/benchmark.js @@ -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 isArray = require( '@stdlib/assert/is-array' ); var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; @@ -34,14 +33,11 @@ var shuffle = require( './../lib' ); bench( pkg, function benchmark( b ) { var result; var arr; - var len; var i; - arr = new Array( 100 ); - len = arr.length; - for ( i = 0; i < len; i++ ) { - arr[ i ] = floor( randu()*100.0 ); - } + arr = discreteUniform( 100, 0, 100, { + 'dtype': 'generic' + }); b.tic(); for ( i = 0; i < b.iterations; i++ ) { @@ -61,15 +57,13 @@ bench( pkg, function benchmark( b ) { bench( format( '%s::deep', pkg ), function benchmark( b ) { var result; var arr; - var len; var i; - arr = new Array( 100 ); - len = arr.length; - for ( i = 0; i < len; i++ ) { - arr[ i ] = { + arr = []; + for ( i = 0; i < 100; i++ ) { + arr.push({ 'beep': 'boop' - }; + }); } b.tic(); @@ -92,14 +86,11 @@ bench( format( '%s::deep', pkg ), function benchmark( b ) { bench( format( '%s::none', pkg ), function benchmark( b ) { var result; var arr; - var len; var i; - arr = new Array( 100 ); - len = arr.length; - for ( i = 0; i < len; i++ ) { - arr[ i ] = floor( randu()*100.0 ); - } + arr = discreteUniform( 100, 0, 100, { + 'dtype': 'generic' + }); b.tic(); for ( i = 0; i < b.iterations; i++ ) { @@ -128,16 +119,13 @@ bench( format( '%s:factory', pkg ), function benchmark( b ) { var myshuffle; var result; var arr; - var len; var i; myshuffle = shuffle.factory(); - arr = new Array( 100 ); - len = arr.length; - for ( i = 0; i < len; i++ ) { - arr[ i ] = floor( randu()*100.0 ); - } + arr = discreteUniform( 100, 0, 100, { + 'dtype': 'generic' + }); b.tic(); for ( i = 0; i < b.iterations; i++ ) {