Show Ads
 Refresh   About   Tools 

PHP rand() Randomosity Tester

TIMEOUT
+619,592 data
+1 +10 +100 +1K +10K +MAX
range: 1-10,000, data points: 619,682, groups: 60
High / Low / Range / Average
Frequency: 93 / 33 / 60 / 61.97
Rows: 553 / 1 / 552 / 166.67
Frequency
Rows
93
1
92
1
91
1
90
1
89
3
88
2
87
4
86
6
85
5
84
11
83
15
82
22
81
32
80
43
79
48
78
79
77
83
76
102
75
130
74
150
73
183
72
247
71
253
70
264
69
361
68
387
67
390
66
413
65
440
64
490
63
494
62
464
61
553
60
515
59
490
58
440
57
414
56
378
55
340
54
297
53
285
52
238
51
221
50
142
49
169
48
106
47
68
46
58
45
50
44
33
43
28
42
21
41
10
40
9
39
5
38
1
37
1
36
1
34
1
33
1

Test runs: 619,593Avg run : 0.000002 seconds Test time: 1.384667 seconds Data Save: 0.484434 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