Show Ads
 Refresh   About   Tools 

PHP mt_rand() Randomosity Tester

+10,000 data
+1 +10 +100 +1K +10K +MAX
range: 1-10,000, data points: 874,469, groups: 68
High / Low / Range / Average
Frequency: 123 / 53 / 70 / 87.45
Rows: 440 / 1 / 439 / 147.06
Frequency
Rows
123
1
121
1
120
2
119
4
118
1
117
5
116
7
115
5
114
5
113
13
112
21
111
21
110
18
109
30
108
41
107
44
106
61
105
67
104
88
103
100
102
133
101
155
100
145
99
223
98
236
97
257
96
269
95
319
94
350
93
323
92
377
91
404
90
378
89
393
88
406
87
440
86
424
85
393
84
406
83
389
82
375
81
361
80
282
79
300
78
283
77
245
76
207
75
160
74
164
73
135
72
118
71
96
70
86
69
63
68
53
67
30
66
21
65
20
64
15
63
6
62
8
61
5
60
3
59
4
58
1
55
2
54
1
53
1

Test runs: 10,000Avg run : 0.000000 seconds Test time: 0.002420 seconds Data Save: 0.118074 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 10,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

Show Ads