Show Ads
 Refresh   About   Tools 

PHP mt_rand() Randomosity Tester

TIMEOUT
+492,468 data
+1 +10 +100 +1K +10K +MAX
range: 1-10,000, data points: 492,469, groups: 54
High / Low / Range / Average
Frequency: 79 / 26 / 53 / 49.25
Rows: 565 / 1 / 564 / 185.19
Frequency
Rows
79
2
78
1
77
2
76
1
75
1
74
1
73
5
72
6
71
8
70
8
69
18
68
27
67
33
66
47
65
45
64
57
63
86
62
118
61
135
60
166
59
185
58
239
57
316
56
341
55
362
54
464
53
468
52
514
51
543
50
542
49
564
48
565
47
565
46
519
45
467
44
461
43
402
42
381
41
305
40
256
39
182
38
167
37
123
36
109
35
64
34
45
33
33
32
22
31
12
30
5
29
7
28
2
27
2
26
1

Test runs: 492,469Avg run : 0.000003 seconds Test time: 1.409347 seconds Data Save: 0.782526 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