Hide Ads
 Refresh   About   Tools 

PHP mt_rand() Randomosity Tester

TIMEOUT
+2,014,902 data
+1 +10 +100 +1K +10K +MAX
range: 1-50, data points: 2,014,903, groups: 48
High / Low / Range / Average
Frequency: 40,711 / 39,648 / 1,063 / 40,298.06
Rows: 3 / 1 / 2 / 1.04
Frequency
Rows
40,711
1
40,705
1
40,696
1
40,670
1
40,630
1
40,622
1
40,608
1
40,587
1
40,529
1
40,499
1
40,458
1
40,457
1
40,453
1
40,436
1
40,415
1
40,410
1
40,398
1
40,385
1
40,381
1
40,370
1
40,366
1
40,342
1
40,318
1
40,306
1
40,283
3
40,257
1
40,244
1
40,243
1
40,242
1
40,230
1
40,221
1
40,197
1
40,186
1
40,179
1
40,142
1
40,125
1
40,113
1
40,105
1
40,098
1
40,088
1
40,078
1
40,066
1
40,046
1
39,988
1
39,971
1
39,941
1
39,894
1
39,648
1

Test runs: 2,014,903Avg run : 0.000001 seconds Test time: 1.419217 seconds Data Save: 0.187486 seconds Test Tools: Restart test: Random range 1 to: 1 2 3 4 5 10 50 100 500 1K 5K 10K 50K 100K Random Generator Method: SQLite ORDER BY RANDOM() PHP rand() PHP mt_rand() PHP random_int() Back to top


About the Randomosity Tester

This page tests the frequency distribution and timing of random number generation via these methods:

Random number results are stored in a test table. The test table is defined as:

CREATE TABLE 'test' ( 'id' INTEGER PRIMARY KEY, 'frequency' INTEGER DEFAULT '0' );

The table is initialized by creating all rows with frequency = 0. The number of rows in the table is defined by the range setting. The current test is set to use range: 1 to 50.

For each random number chosen, the table is updated via:

UPDATE test SET frequency = frequency + 1 WHERE id = :random_number

For SQLite tests, results are individually generated via the SQL call:

SELECT id FROM test ORDER BY RANDOM() LIMIT 1;

Generate more random numbers by clicking a  +  number button to start a test run.

Each test run is limted to ~1.42 seconds.

A Frequency of Frequencies chart displays:

This site was created with Open Source software. Find out more on Github: randomosity-tester v0.2.2

Back to top


Hide Ads