Hide Ads
 Refresh   About   Tools 

PHP mt_rand() Randomosity Tester

TIMEOUT
+698,769 data
+1 +10 +100 +1K +10K +MAX
range: 1-50, data points: 698,770, groups: 46
High / Low / Range / Average
Frequency: 14,154 / 13,730 / 424 / 13,975.40
Rows: 2 / 1 / 1 / 1.09
Frequency
Rows
14,154
1
14,141
1
14,133
1
14,119
1
14,115
2
14,100
1
14,068
1
14,060
1
14,056
1
14,052
1
14,050
2
14,047
1
14,046
1
14,034
1
14,011
1
14,010
2
14,007
1
14,005
1
14,004
2
14,002
1
14,001
1
13,999
1
13,996
1
13,990
1
13,978
1
13,972
1
13,958
1
13,953
1
13,952
1
13,938
1
13,932
1
13,927
1
13,911
1
13,910
1
13,894
1
13,874
1
13,873
1
13,858
1
13,857
1
13,847
1
13,837
1
13,821
1
13,801
1
13,796
1
13,772
1
13,730
1

Test runs: 698,770Avg run : 0.000002 seconds Test time: 1.423904 seconds Data Save: 0.217483 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