Skip to content

Commit fc45e13

Browse files
committed
bench: move random number generation outside the benchmarking loops
--- 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: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- type: pre_push_report description: Results of running various checks prior to pushing changes. report: - task: run_javascript_examples status: na - task: run_c_examples status: na - task: run_cpp_examples status: na - task: run_javascript_readme_examples status: na - task: run_c_benchmarks status: na - task: run_cpp_benchmarks status: na - task: run_fortran_benchmarks status: na - task: run_javascript_benchmarks status: na - task: run_julia_benchmarks status: na - task: run_python_benchmarks status: na - task: run_r_benchmarks status: na - task: run_javascript_tests status: na ---
1 parent 1e28982 commit fc45e13

File tree

23 files changed

+291
-142
lines changed

23 files changed

+291
-142
lines changed

lib/node_modules/@stdlib/stats/base/dists/discrete-uniform/cdf/benchmark/benchmark.js

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222

2323
var bench = require( '@stdlib/bench' );
2424
var Float64Array = require( '@stdlib/array/float64' );
25-
var randu = require( '@stdlib/random/base/randu' );
26-
var round = require( '@stdlib/math/base/special/round' );
25+
var uniform = require( '@stdlib/random/base/uniform' );
26+
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
2727
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2828
var pkg = require( './../package.json' ).name;
2929
var cdf = require( './../lib' );
@@ -44,9 +44,9 @@ bench( pkg, function benchmark( b ) {
4444
min = new Float64Array( len );
4545
max = new Float64Array( len );
4646
for ( i = 0; i < len; i++ ) {
47-
x[ i ] = ( randu() * 20.0 ) - 10.0;
48-
min[ i ] = round( randu()*10.0 );
49-
max[ i ] = round( randu() * 10.0 ) + min[ i ];
47+
x[ i ] = uniform( -10.0, 10.0 );
48+
min[ i ] = discreteUniform( 0, 10 );
49+
max[ i ] = discreteUniform( min[ i ], min[ i ] + 10 );
5050
}
5151

5252
b.tic();
@@ -68,18 +68,23 @@ bench( pkg+':factory', function benchmark( b ) {
6868
var mycdf;
6969
var min;
7070
var max;
71+
var len;
7172
var x;
7273
var y;
7374
var i;
7475

7576
min = -2;
7677
max = 2;
7778
mycdf = cdf.factory( min, max );
79+
len = 100;
80+
x = new Float64Array( len );
81+
for ( i = 0; i < len; i++ ) {
82+
x[ i ] = uniform( -2.0, 0.0 );
83+
}
7884

7985
b.tic();
8086
for ( i = 0; i < b.iterations; i++ ) {
81-
x = ( randu()*2.0 ) - 2.0;
82-
y = mycdf( x );
87+
y = mycdf( x[ i % len ] );
8388
if ( isnan( y ) ) {
8489
b.fail( 'should not return NaN' );
8590
}

lib/node_modules/@stdlib/stats/base/dists/discrete-uniform/cdf/benchmark/benchmark.native.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
var resolve = require( 'path' ).resolve;
2424
var bench = require( '@stdlib/bench' );
2525
var Float64Array = require( '@stdlib/array/float64' );
26-
var randu = require( '@stdlib/random/base/randu' );
27-
var round = require( '@stdlib/math/base/special/round' );
26+
var uniform = require( '@stdlib/random/base/uniform' );
27+
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
2828
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2929
var tryRequire = require( '@stdlib/utils/try-require' );
3030
var pkg = require( './../package.json' ).name;
@@ -53,9 +53,9 @@ bench( pkg+'::native', opts, function benchmark( b ) {
5353
min = new Float64Array( len );
5454
max = new Float64Array( len );
5555
for ( i = 0; i < len; i++ ) {
56-
x[ i ] = ( randu() * 20.0 ) - 10.0;
57-
min[ i ] = round( randu()*10.0 );
58-
max[ i ] = round( randu() * 10.0 ) + min[ i ];
56+
x[ i ] = uniform( -10.0, 10.0 );
57+
min[ i ] = discreteUniform( 0, 10 );
58+
max[ i ] = discreteUniform( min[ i ], min[ i ] + 10 );
5959
}
6060

6161
b.tic();

0 commit comments

Comments
 (0)