Documentation API of the 'cern.jet.random.engine.Benchmark' Java class
Benchmark
cern.jet.random.engine

Class Benchmark



  • public class Benchmarkextends Object
    Benchmarks the performance of the currently provided uniform pseudo-random number generation engines.

    All distributions are obtained by using a uniform pseudo-random number generation engine. followed by a transformation to the desired distribution. Therefore, the performance of the uniform engines is crucial.

    Comparison of uniform generation engines

    Name Period

    Speed
    [# million uniform random numbers generated/sec]
    Pentium Pro 200 Mhz, JDK 1.2, NT

    MersenneTwister 219937-1 (=106001) 2.5
    Ranlux (default luxury level 3) 10171 0.4
    Ranmar 1043 1.6
    Ranecu 1018 1.5
    java.util.Random.nextFloat() ? 2.4

    Note: Methods working on the default uniform random generator are synchronized and therefore in current VM's slow (as of June '99). Methods taking as argument a uniform random generator are not synchronized and therefore much quicker. Thus, if you need a lot of random numbers, you should use the unsynchronized approach:

    Example usage:

     edu.cornell.lassp.houle.RngPack.RandomElement generator; generator = new cern.jet.random.engine.MersenneTwister(new java.util.Date()); //generator = new edu.cornell.lassp.houle.RngPack.Ranecu(new java.util.Date()); //generator = new edu.cornell.lassp.houle.RngPack.Ranmar(new java.util.Date()); //generator = new edu.cornell.lassp.houle.RngPack.Ranlux(new java.util.Date()); //generator = makeDefaultGenerator(); for (int i=1000000; --i >=0; ) {    double uniform = generator.raw();    ... } 
    See Also:
    cern.jet.random

Warning: You cannot see the full API documentation of this class since the access to the DatMelt documentation for third-party Java classes is denied. Guests can only view jhplot Java API. To view the complete description of this class and its methods, please request the full DataMelt membership.

If you are already a full member, please login to the DataMelt member area before visiting this documentation.