Hide Ads
 Refresh   About   Tools 

PHP mt_rand() Randomosity Tester

+10,000 data
+1 +10 +100 +1K +10K +MAX
range: 1-10,000, data points: 454,652, groups: 50
High / Low / Range / Average
Frequency: 73 / 21 / 52 / 45.47
Rows: 629 / 1 / 628 / 200.00
Frequency
Rows
73
2
70
2
69
2
68
2
67
7
66
10
65
15
64
10
63
24
62
36
61
41
60
63
59
83
58
113
57
135
56
185
55
189
54
260
53
281
52
346
51
426
50
439
49
498
48
538
47
550
46
629
45
590
44
581
43
567
42
557
41
500
40
442
39
403
38
318
37
288
36
228
35
195
34
112
33
121
32
69
31
63
30
35
29
15
28
16
27
6
26
3
25
2
24
1
22
1
21
1

Test runs: 10,000Avg run : 0.000003 seconds Test time: 0.029073 seconds Data Save: 0.369094 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


Hide Ads