Repository: commons-rng Updated Branches: refs/heads/master fecc649fa -> 1bb529778
Update benchmarks results (user guide). Project: http://git-wip-us.apache.org/repos/asf/commons-rng/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-rng/commit/1bb52977 Tree: http://git-wip-us.apache.org/repos/asf/commons-rng/tree/1bb52977 Diff: http://git-wip-us.apache.org/repos/asf/commons-rng/diff/1bb52977 Branch: refs/heads/master Commit: 1bb529778339d7ffd57b7f440a2b093929669e9c Parents: fecc649 Author: Gilles <[email protected]> Authored: Wed Apr 12 01:00:23 2017 +0200 Committer: Gilles <[email protected]> Committed: Wed Apr 12 01:00:23 2017 +0200 ---------------------------------------------------------------------- src/site/apt/userguide/rng.apt | 173 +++++++++++++++++++++++++----------- 1 file changed, 122 insertions(+), 51 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-rng/blob/1bb52977/src/site/apt/userguide/rng.apt ---------------------------------------------------------------------- diff --git a/src/site/apt/userguide/rng.apt b/src/site/apt/userguide/rng.apt index 7b27539..4f08a28 100644 --- a/src/site/apt/userguide/rng.apt +++ b/src/site/apt/userguide/rng.apt @@ -406,9 +406,9 @@ String word = sampler.sample().get(0); * CPU: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz - * Java runtime: 1.7.0_95-b00 + * Java version: 1.8.0_121 (build 1.8.0_121-8u121-b13-3-b13) - * JVM: OpenJDK 64-Bit Server VM 24.95-b01 + * JVM: OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode) [] @@ -424,8 +424,7 @@ String word = sampler.sample().get(0); [] - The first column is the RNG identifier (see {{{../commons-rng-simple/apidocs/org/apache/commons/rng/simple/RandomSource.html}RandomSource}}); - the performance value is the ratio of the (JMH) score with respect to the score of <<<RandomSource.JDK>>>. + The first column is the RNG identifier (see {{{../commons-rng-simple/apidocs/org/apache/commons/rng/simple/RandomSource.html}RandomSource}}). In these tables, <lower> is <better>. @@ -433,113 +432,185 @@ String word = sampler.sample().get(0); ** Generating <<<int>>> values *--------------------------*----------------+ -|| RNG identifier || Score ratio | -*--------------------------*----------------+ -| MWC_256 | 0.42168 | +|| RNG identifier || Score (normalized to the score of <<<RandomSource.JDK>>>) | *--------------------------*----------------+ -| SPLIT_MIX_64 | 0.42845 | +| MWC_256 | 0.43405 | *--------------------------*----------------+ -| TWO_CMRES | 0.46360 | +| SPLIT_MIX_64 | 0.46945 | *--------------------------*----------------+ -| XOR_SHIFT_1024_S | 0.48818 | +| TWO_CMRES | 0.53129 | *--------------------------*----------------+ -| ISAAC | 0.56263 | +| XOR_SHIFT_1024_S | 0.57792 | *--------------------------*----------------+ -| KISS | 0.56340 | +| KISS | 0.61673 | *--------------------------*----------------+ -| MT_64 | 0.62591 | +| ISAAC | 0.61966 | *--------------------------*----------------+ -| MT | 0.65198 | +| MT | 0.67974 | *--------------------------*----------------+ -| WELL_512_A | 0.83364 | +| MT_64 | 0.68905 | *--------------------------*----------------+ -| WELL_1024_A | 0.88204 | +| WELL_512_A | 0.83342 | *--------------------------*----------------+ -| WELL_44497_A | 0.99618 | +| WELL_1024_A | 0.89916 | *--------------------------*----------------+ | JDK | 1.00000 | *--------------------------*----------------+ -| WELL_44497_B | 1.00641 | +| WELL_19937_C | 1.10156 | +*--------------------------*----------------+ +| WELL_19937_A | 1.10758 | *--------------------------*----------------+ -| WELL_19937_A | 1.09770 | +| WELL_44497_A | 1.18293 | *--------------------------*----------------+ -| WELL_19937_C | 1.13420 | +| WELL_44497_B | 1.23908 | *--------------------------*----------------+ ** Generating <<<long>>> values *--------------------------*----------------+ -|| RNG identifier || Score ratio | +|| RNG identifier || Score (normalized to the score of <<<RandomSource.JDK>>>) | *--------------------------*----------------+ -| SPLIT_MIX_64 | 0.23505 | +| SPLIT_MIX_64 | 0.20866 | *--------------------------*----------------+ -| XOR_SHIFT_1024_S | 0.26918 | +| TWO_CMRES | 0.24560 | *--------------------------*----------------+ -| TWO_CMRES | 0.28069 | +| XOR_SHIFT_1024_S | 0.26774 | *--------------------------*----------------+ -| MT_64 | 0.34193 | +| MWC_256 | 0.31939 | *--------------------------*----------------+ -| MWC_256 | 0.40359 | +| MT_64 | 0.32588 | *--------------------------*----------------+ -| KISS | 0.55043 | +| KISS | 0.49883 | *--------------------------*----------------+ -| MT | 0.63092 | +| MT | 0.53191 | *--------------------------*----------------+ -| ISAAC | 0.63944 | +| ISAAC | 0.54878 | *--------------------------*----------------+ -| WELL_512_A | 0.65085 | +| WELL_1024_A | 0.64829 | *--------------------------*----------------+ -| WELL_1024_A | 0.71561 | +| WELL_512_A | 0.66269 | *--------------------------*----------------+ -| JDK | 1.00000 | +| WELL_19937_A | 0.94553 | *--------------------------*----------------+ -| WELL_19937_A | 1.03761 | +| WELL_19937_C | 0.99949 | *--------------------------*----------------+ -| WELL_44497_A | 1.06495 | +| JDK | 1.00000 | *--------------------------*----------------+ -| WELL_44497_B | 1.14565 | +| WELL_44497_A | 1.03821 | *--------------------------*----------------+ -| WELL_19937_C | 1.23338 | +| WELL_44497_B | 1.09792 | *--------------------------*----------------+ ** Generating <<<double>>> values *--------------------------*----------------+ -|| RNG identifier || Score ratio | +|| RNG identifier || Score (normalized to the score of <<<RandomSource.JDK>>>) | *--------------------------*----------------+ -| SPLIT_MIX_64 | 0.28609 | +| SPLIT_MIX_64 | 0.27214 | *--------------------------*----------------+ -| XOR_SHIFT_1024_S | 0.32866 | +| XOR_SHIFT_1024_S | 0.30975 | *--------------------------*----------------+ -| TWO_CMRES | 0.34069 | +| TWO_CMRES | 0.31785 | *--------------------------*----------------+ -| MWC_256 | 0.39083 | +| MWC_256 | 0.37810 | *--------------------------*----------------+ -| MT_64 | 0.39368 | +| MT_64 | 0.38516 | *--------------------------*----------------+ -| KISS | 0.60581 | +| KISS | 0.51777 | *--------------------------*----------------+ -| ISAAC | 0.64429 | +| ISAAC | 0.62528 | *--------------------------*----------------+ -| MT | 0.67086 | +| MT | 0.63868 | *--------------------------*----------------+ -| WELL_1024_A | 0.73629 | +| WELL_512_A | 0.66895 | *--------------------------*----------------+ -| WELL_512_A | 0.78037 | +| WELL_1024_A | 0.70950 | *--------------------------*----------------+ | JDK | 1.00000 | *--------------------------*----------------+ -| WELL_19937_A | 1.11497 | +| WELL_19937_A | 1.06693 | +*--------------------------*----------------+ +| WELL_44497_A | 1.15398 | +*--------------------------*----------------+ +| WELL_19937_C | 1.15598 | +*--------------------------*----------------+ +| WELL_44497_B | 1.19013 | +*--------------------------*----------------+ + + + ** Sampling from a <N(0,1)> Gaussian distribution ({{{../commons-rng-sampling/apidocs/org/apache/commons/rng/sampling/distribution/MarsagliaNormalizedGaussianSampler.html}MarsagliaNormalizedGaussianSampler}} implementation) + +*--------------------------*----------------+ +|| RNG identifier || Score (normalized to the score of <<<RandomSource.JDK>>>) | +*--------------------------*----------------+ +| SPLIT_MIX_64 | 0.46750 | +*--------------------------*----------------+ +| XOR_SHIFT_1024_S | 0.48672 | +*--------------------------*----------------+ +| TWO_CMRES | 0.54703 | +*--------------------------*----------------+ +| MWC_256 | 0.55824 | +*--------------------------*----------------+ +| MT_64 | 0.58233 | +*--------------------------*----------------+ +| ISAAC | 0.64820 | +*--------------------------*----------------+ +| KISS | 0.66279 | +*--------------------------*----------------+ +| MT | 0.68759 | +*--------------------------*----------------+ +| WELL_512_A | 0.77854 | *--------------------------*----------------+ -| WELL_44497_A | 1.13362 | +| WELL_1024_A | 0.82204 | *--------------------------*----------------+ -| WELL_19937_C | 1.15334 | +| WELL_19937_A | 0.93504 | *--------------------------*----------------+ -| WELL_44497_B | 1.22613 | +| WELL_19937_C | 0.98401 | *--------------------------*----------------+ +| WELL_44497_A | 0.99620 | +*--------------------------*----------------+ +| JDK | 1.00000 | +*--------------------------*----------------+ +| WELL_44497_B | 1.03380 | +*--------------------------*----------------+ + + ** Comparing <<<MarsagliaNormalizedGaussianSampler>>> with <<<java.util.Random>>> +*--------------------------*----------------+ +|| RNG identifier || Score (normalized to the score of {{{https://docs.oracle.com/javase/8/docs/api/java/util/Random.html#nextGaussian--}nextGaussian()}} method) | +*--------------------------*----------------+ +| SPLIT_MIX_64 | 0.30320 | +*--------------------------*----------------+ +| XOR_SHIFT_1024_S | 0.31566 | +*--------------------------*----------------+ +| TWO_CMRES | 0.35477 | +*--------------------------*----------------+ +| MWC_256 | 0.36204 | +*--------------------------*----------------+ +| MT_64 | 0.37767 | +*--------------------------*----------------+ +| ISAAC | 0.42038 | +*--------------------------*----------------+ +| KISS | 0.42985 | +*--------------------------*----------------+ +| MT | 0.44593 | +*--------------------------*----------------+ +| WELL_512_A | 0.50492 | +*--------------------------*----------------+ +| WELL_1024_A | 0.53313 | +*--------------------------*----------------+ +| WELL_19937_A | 0.60641 | +*--------------------------*----------------+ +| WELL_19937_C | 0.63817 | +*--------------------------*----------------+ +| WELL_44497_A | 0.64607 | +*--------------------------*----------------+ +| JDK | 0.64854 | +*--------------------------*----------------+ +| WELL_44497_B | 0.67046 | +*--------------------------*----------------+ 5. Quality
