summaryrefslogtreecommitdiff
path: root/doc/source/reference/random/performance.py
diff options
context:
space:
mode:
Diffstat (limited to 'doc/source/reference/random/performance.py')
-rw-r--r--doc/source/reference/random/performance.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/doc/source/reference/random/performance.py b/doc/source/reference/random/performance.py
index ed8745078..28a42eb0d 100644
--- a/doc/source/reference/random/performance.py
+++ b/doc/source/reference/random/performance.py
@@ -54,15 +54,16 @@ for key in npfuncs:
col[key] = 1000 * min(t)
table['RandomState'] = pd.Series(col)
+columns = ['MT19937','PCG64','Philox','SFC64', 'RandomState']
table = pd.DataFrame(table)
-table = table.reindex(table.mean(1).sort_values().index)
order = np.log(table).mean().sort_values().index
table = table.T
-table = table.reindex(order)
+table = table.reindex(columns)
table = table.T
table = table.reindex([k for k in funcs], axis=0)
print(table.to_csv(float_format='%0.1f'))
+
rel = table.loc[:, ['RandomState']].values @ np.ones(
(1, table.shape[1])) / table
rel.pop('RandomState')
@@ -72,3 +73,15 @@ rel *= 100
rel = np.round(rel)
rel = rel.T
print(rel.to_csv(float_format='%0d'))
+
+# Cross-platform table
+rows = ['32-bit Unsigned Ints','64-bit Unsigned Ints','Uniforms','Normals','Exponentials']
+xplat = rel.reindex(rows, axis=0)
+xplat = 100 * (xplat / xplat.MT19937.values[:,None])
+overall = np.exp(np.log(xplat).mean(0))
+xplat = xplat.T.copy()
+xplat['Overall']=overall
+print(xplat.T.round(1))
+
+
+