Skip to content

Commit 273d9f1

Browse files
G4URAV001Planeshifterstdlib-bot
authored
bench: refactor random number generation in benchmarks for stats/base/dists/uniform
PR-URL: #5176 Closes: #4991 Ref: #4837 Ref: #4955 Co-authored-by: Philipp Burckhardt <[email protected]> Co-authored-by: stdlib-bot <[email protected]> Reviewed-by: Karan Anand <[email protected]> Reviewed-by: Philipp Burckhardt <[email protected]> Signed-off-by: Philipp Burckhardt <[email protected]>
1 parent c799d16 commit 273d9f1

File tree

20 files changed

+296
-118
lines changed

20 files changed

+296
-118
lines changed

Diff for: lib/node_modules/@stdlib/stats/base/dists/uniform/cdf/benchmark/benchmark.js

+21-7
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
// MODULES //
2222

2323
var bench = require( '@stdlib/bench' );
24-
var randu = require( '@stdlib/random/base/randu' );
24+
var uniform = require( '@stdlib/random/base/uniform' );
25+
var Float64Array = require( '@stdlib/array/float64' );
2526
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2627
var pkg = require( './../package.json' ).name;
2728
var cdf = require( './../lib' );
@@ -32,16 +33,24 @@ var cdf = require( './../lib' );
3233
bench( pkg, function benchmark( b ) {
3334
var min;
3435
var max;
36+
var len;
3537
var x;
3638
var y;
3739
var i;
3840

41+
len = 100;
42+
x = new Float64Array( len );
43+
min = new Float64Array( len );
44+
max = new Float64Array( len );
45+
for ( i = 0; i < len; i++ ) {
46+
x[ i ] = uniform( -10.0, 10.0 );
47+
min[ i ] = uniform( -20.0, 0.0 );
48+
max[ i ] = uniform( min[ i ], min[ i ] + 40.0 );
49+
}
50+
3951
b.tic();
4052
for ( i = 0; i < b.iterations; i++ ) {
41-
x = ( randu() * 20.0 ) - 10.0;
42-
min = ( randu() * 20.0 ) - 20.0;
43-
max = min + ( randu() * 40.0 );
44-
y = cdf( x, min, max );
53+
y = cdf( x[ i % len ], min[ i % len ], max[ i % len ] );
4554
if ( isnan( y ) ) {
4655
b.fail( 'should not return NaN' );
4756
}
@@ -58,18 +67,23 @@ bench( pkg+':factory', function benchmark( b ) {
5867
var mycdf;
5968
var min;
6069
var max;
70+
var len;
6171
var x;
6272
var y;
6373
var i;
6474

6575
min = -1.5;
6676
max = 1.5;
6777
mycdf = cdf.factory( min, max );
78+
len = 100;
79+
x = new Float64Array( len );
80+
for ( i = 0; i < len; i++ ) {
81+
x[ i ] = uniform( -2.0, 0.0 );
82+
}
6883

6984
b.tic();
7085
for ( i = 0; i < b.iterations; i++ ) {
71-
x = ( randu()*2.0 ) - 2.0;
72-
y = mycdf( x );
86+
y = mycdf( x[ i % len ] );
7387
if ( isnan( y ) ) {
7488
b.fail( 'should not return NaN' );
7589
}

0 commit comments

Comments
 (0)