You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+35-6Lines changed: 35 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,29 +62,58 @@ In [1], every known PRNG at the time of the editing has been tested according to
62
62
***_crush_** is a bigger set of tests that test more deeply expected random characteristics;
63
63
***_big crush_** is the ultimate set of difficult tests that any **good** PRNG should definitively pass.
64
64
65
-
We give you here below a copy of the resulting table for the PRGs that havebeen implemented in **PyRandLib**plus the Mersenne twister one which is not implemented in **PyRandLib**, as provided in [1].
65
+
We give you here below a copy of the resulting table for the PRGs that have been implemented in **PyRandLib**, as provided in [1], plus the Mersenne twister one which is not implemented in **PyRandLib**.
66
66
67
67
| PyRabndLib class | TU01 generator name | Memory Usage | Period | time-32bits | time-64 bits | SmallCrush fails | Crush fails | BigCrush fails |
(1)The Well19937b generator provided with library PyRandLib implements the
85
-
Well19937a algorithm augmented with an associated tempering algorithm.
84
+
(1)The Well19937b generator provided with library PyRandLib implements the Well19937a algorithm augmented with an associated *tempering* algorithm.
85
+
86
86
87
87
88
+
## CPU Performances - Times evaluation
89
+
90
+
The above table provided times related to the C implementation of the specified PRNGs as measured with TestU01 [1] by the authors of the paper.
91
+
We provide in the table below the evaluation of times spent in calling the `__call__()` method for all PRNGs implemented in library **PyRandLib**. Then, the measured elapsed time includes the calling and returning Python mechanisms and not only the computation time of the sole algorithm code. This is the duration of interest to you since this is the main use of the library you will have. It only helps comparing the performances between the implemented PRNGs.
92
+
93
+
We currently provide them as tested with Python 3.9. We will further provide them for every version of Python above 3.9. Time unit is microsecond. Tests have been run on an Intel(R) Core(TM) i5-1035G1 CPU @ 1.00 GHz, 1190 MHz, 4 cores, 8 logical processors, 64-bits, with 8 GB RAM and over Microsoft Windows 11 ed. Family.
94
+
The evaluation script is provided at the root of this repository: `testCPUPerfs.py`.
95
+
96
+
Up to now, it has only been run with a Python 3.9.13 (64-bits) virtual environment. Measurements with next versions of Python are to come.
0 commit comments