@@ -35,10 +35,9 @@ identical sequence of random numbers for a given seed.
35
35
## Plans
36
36
It is essentially complete. There are a few rough edges that need to be smoothed.
37
37
38
- * Document core RNG classes
39
38
* Pickling support
40
- * Verify entropy based initialization is missing for some RNGs
41
- * Multiple stream support for MLFG and MRG32K3A
39
+ * Verify entropy based initialization for some RNGs
40
+ * Stream support for MLFG and MRG32K3A
42
41
* Creation of additional streams from a RandomState where supported (i.e.
43
42
a ` next_stream() ` method)
44
43
@@ -134,36 +133,36 @@ Performance is promising. Some early numbers:
134
133
```
135
134
Time to produce 1,000,000 Uniforms
136
135
************************************************************
137
- numpy-random-random_sample 11.44 ms
138
- randomstate-mlfg_1279_861-random_sample 7.18 ms
139
- randomstate-mrg32k3a-random_sample 35.70 ms
140
- randomstate-mt19937-random_sample 9.26 ms
141
- randomstate-pcg32-random_sample 6.75 ms
142
- randomstate-pcg64-random_sample 5.79 ms
143
- randomstate-xorshift1024-random_sample 5.73 ms
144
- randomstate-xorshift128-random_sample 5.38 ms
136
+ numpy-random-random_sample 13.68 ms
137
+ randomstate-mlfg_1279_861-random_sample 6.64 ms
138
+ randomstate-mrg32k3a-random_sample 37.87 ms
139
+ randomstate-mt19937-random_sample 13.33 ms
140
+ randomstate-pcg32-random_sample 10.20 ms
141
+ randomstate-pcg64-random_sample 7.83 ms
142
+ randomstate-xorshift1024-random_sample 6.20 ms
143
+ randomstate-xorshift128-random_sample 5.49 ms
145
144
146
145
Uniforms per second
147
146
************************************************************
148
- numpy-random-random_sample 87.39 million
149
- randomstate-mlfg_1279_861-random_sample 139.27 million
150
- randomstate-mrg32k3a-random_sample 28.01 million
151
- randomstate-mt19937-random_sample 107.94 million
152
- randomstate-pcg32-random_sample 148.16 million
153
- randomstate-pcg64-random_sample 172.63 million
154
- randomstate-xorshift1024-random_sample 174.63 million
155
- randomstate-xorshift128-random_sample 185.83 million
156
- dtype: object
147
+ numpy-random-random_sample 73.11 million
148
+ randomstate-mlfg_1279_861-random_sample 150.71 million
149
+ randomstate-mrg32k3a-random_sample 26.41 million
150
+ randomstate-mt19937-random_sample 75.03 million
151
+ randomstate-pcg32-random_sample 98.00 million
152
+ randomstate-pcg64-random_sample 127.77 million
153
+ randomstate-xorshift1024-random_sample 161.39 million
154
+ randomstate-xorshift128-random_sample 182.29 million
157
155
158
156
Speed-up relative to NumPy
159
157
************************************************************
160
- randomstate-mlfg_1279_861-random_sample 59.4%
161
- randomstate-mrg32k3a-random_sample -67.9%
162
- randomstate-mt19937-random_sample 23.5%
163
- randomstate-pcg32-random_sample 69.5%
164
- randomstate-pcg64-random_sample 97.5%
165
- randomstate-xorshift1024-random_sample 99.8%
166
- randomstate-xorshift128-random_sample 112.6%
158
+ randomstate-mlfg_1279_861-random_sample 106.1%
159
+ randomstate-mrg32k3a-random_sample -63.9%
160
+ randomstate-mt19937-random_sample 2.6%
161
+ randomstate-pcg32-random_sample 34.0%
162
+ randomstate-pcg64-random_sample 74.8%
163
+ randomstate-xorshift1024-random_sample 120.7%
164
+ randomstate-xorshift128-random_sample 149.3%
165
+
167
166
--------------------------------------------------------------------------------
168
167
```
169
168
0 commit comments