Uploaded image for project: 'Commons RNG'
  1. Commons RNG
  2. RNG-104

SeedFactory seed creation performance analysis

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Minor
    • Resolution: Done
    • 1.3
    • None
    • simple
    • None

    Description

      The SeedFactory is used to create seeds for the random generators. To ensure thread safety this uses synchronized blocks around a single generator. The current method only generates a single int or long per synchronisation. Analyze the performance of this approach. The analysis will investigate generating multiple values inside each synchronisation around the generator.

      This analysis will also investigate methods to supplement the SeedFactory with fast methods to create seeds. This will use a fast seeding method to generate a single long value. This can be a seed for a SplitMix generator used to create a seed of any length.

       

      Attachments

        1. t1.jpg
          20 kB
          Alex Herbert
        2. t4.jpg
          21 kB
          Alex Herbert
        3. well_lock_vs_sync1.png
          27 kB
          Alex Herbert
        4. well_lock_vs_sync4.jpg
          24 kB
          Alex Herbert
        5. well_sync_performance.jpg
          22 kB
          Alex Herbert
        6. well_unfair_performance.jpg
          17 kB
          Alex Herbert
        7. well_unfair_vs_fair.jpg
          17 kB
          Alex Herbert
        8. xor_unfair_int1.png
          32 kB
          Alex Herbert
        9. xor_unfair_long1.png
          28 kB
          Alex Herbert

        Issue Links

          Activity

            People

              aherbert Alex Herbert
              aherbert Alex Herbert
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: