Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8056179

Store permissions in concurrent collections in PermissionCollection subclasses

    Details

    • Subcomponent:
    • Resolved In Build:
      b69
    • Verification:
      Verified

      Backports

        Description

        Initial benchmarks show a significant increase in throughput of the PermissionCollection.implies method when concurrent collections are used to store permissions (instead of using synchronized blocks to synchronize access to non-concurrent collections). This applies to the PermissionCollection subclasses implemented in SocketPermission, FilePermission, etc.

          Issue Links

            Activity

            Hide
            mullan Sean Mullan added a comment -
            Results of Permissions.Implies.implies benchmark (8 threads, 4 cpu system):

            before:

            Benchmark Mode Samples Score Error Units
            o.o.b.j.s.Permissions.Implies.implies thrpt 25 3921663.747 ± 113821.963 ops/s

            after:

            Benchmark Mode Samples Score Error Units
            o.o.b.j.s.Permissions.Implies.implies thrpt 25 33389354.257 ± 585894.399 ops/s

            (almost 10x improvement)
            Show
            mullan Sean Mullan added a comment - Results of Permissions.Implies.implies benchmark (8 threads, 4 cpu system): before: Benchmark Mode Samples Score Error Units o.o.b.j.s.Permissions.Implies.implies thrpt 25 3921663.747 ± 113821.963 ops/s after: Benchmark Mode Samples Score Error Units o.o.b.j.s.Permissions.Implies.implies thrpt 25 33389354.257 ± 585894.399 ops/s (almost 10x improvement)
            Hide
            mullan Sean Mullan added a comment -
            Attached is a chart comparing the performance of Permissions.getPermissions(Permission) before and after the fix with various numbers of threads. The system under test was Intel® Core™ i5-2520M CPU @ 2.50GHz × 4 running Ubuntu 14.04 LTS. Single thread performance is better (by about 12%) and multiple-thread throughput is increased approximately 6-10 times depending on the number of threads.
            Show
            mullan Sean Mullan added a comment - Attached is a chart comparing the performance of Permissions.getPermissions(Permission) before and after the fix with various numbers of threads. The system under test was Intel® Core™ i5-2520M CPU @ 2.50GHz × 4 running Ubuntu 14.04 LTS. Single thread performance is better (by about 12%) and multiple-thread throughput is increased approximately 6-10 times depending on the number of threads.
            Hide
            hgupdate HG Updates added a comment -
            URL: http://hg.openjdk.java.net/jdk9/dev/jdk/rev/467094c6081b
            User: mullan
            Date: 2015-06-09 13:35:49 +0000
            Show
            hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk9/dev/jdk/rev/467094c6081b User: mullan Date: 2015-06-09 13:35:49 +0000
            Hide
            hgupdate HG Updates added a comment -
            URL: http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/467094c6081b
            User: lana
            Date: 2015-06-17 03:53:08 +0000
            Show
            hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/467094c6081b User: lana Date: 2015-06-17 03:53:08 +0000

              People

              • Assignee:
                mullan Sean Mullan
                Reporter:
                mullan Sean Mullan
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: