Skip to content

Commit 36f5573

Browse files
committed
bench: Refactor random number generation in JS benchmarks for stats/base/dists/logistic #4978
1 parent 8ad374c commit 36f5573

File tree

20 files changed

+497
-286
lines changed

20 files changed

+497
-286
lines changed

lib/node_modules/@stdlib/stats/base/dists/logistic/cdf/benchmark/benchmark.js

Lines changed: 22 additions & 7 deletions
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 Float64Array = require( '@stdlib/array/float64' );
25+
var uniform = require( '@stdlib/random/base/uniform' );
2526
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2627
var EPS = require( '@stdlib/constants/float64/eps' );
2728
var pkg = require( './../package.json' ).name;
@@ -33,16 +34,25 @@ var cdf = require( './../lib' );
3334
bench( pkg, function benchmark( b ) {
3435
var mu;
3536
var s;
37+
var len;
3638
var x;
3739
var y;
3840
var i;
3941

42+
len = 100;
43+
mu = new Float64Array( len );
44+
s = new Float64Array( len );
45+
x = new Float64Array( len );
46+
for ( i = 0; i < len; i++ ) {
47+
x[ i ] = uniform( EPS, 2.0 );
48+
mu[ i ] = uniform( EPS, 100.0 );
49+
s[ i ] = uniform( EPS, 100.0 );
50+
}
51+
52+
4053
b.tic();
4154
for ( i = 0; i < b.iterations; i++ ) {
42-
x = ( randu()*100.0 ) - 100;
43-
mu = ( randu()*100.0 ) - 50.0;
44-
s = ( randu()*20.0 ) + EPS;
45-
y = cdf( x, mu, s );
55+
y = cdf( x[ i % len ], mu[ i % len ], s[ i % len ] );
4656
if ( isnan( y ) ) {
4757
b.fail( 'should not return NaN' );
4858
}
@@ -59,18 +69,23 @@ bench( pkg+':factory', function benchmark( b ) {
5969
var mycdf;
6070
var mu;
6171
var s;
72+
var len;
6273
var x;
6374
var y;
6475
var i;
6576

6677
mu = 10.0;
6778
s = 4.0;
6879
mycdf = cdf.factory( mu, s );
80+
len = 100;
81+
x = new Float64Array( len );
82+
for ( i = 0; i < len; i++ ) {
83+
x[ i ] = uniform( EPS, 2.0 );
84+
}
6985

7086
b.tic();
7187
for ( i = 0; i < b.iterations; i++ ) {
72-
x = ( randu()*50.0 );
73-
y = mycdf( x );
88+
y = mycdf( x[ i % len ] );
7489
if ( isnan( y ) ) {
7590
b.fail( 'should not return NaN' );
7691
}

0 commit comments

Comments
 (0)