Hide Ads
 Refresh   About   Tools 

PHP mt_rand() Randomosity Tester

TIMEOUT
+1,113,496 data
+1 +10 +100 +1K +10K +MAX
range: 1-100,000, data points: 1,123,597, groups: 30
High / Low / Range / Average
Frequency: 29 / 0 / 29 / 11.24
Rows: 11,802 / 3 / 11,799 / 3,333.33
Frequency
Rows
29
3
28
3
27
4
26
6
25
16
24
52
23
77
22
179
21
296
20
555
19
973
18
1,667
17
2,717
16
4,033
15
5,851
14
7,732
13
9,532
12
11,209
11
11,802
10
11,719
9
10,255
8
8,401
7
5,998
6
3,591
5
2,031
4
870
3
327
2
84
1
11
0
6

Test runs: 1,113,497Avg run : 0.000001 seconds Test time: 1.270657 seconds Data Save: 1.633225 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 100,000.

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