Details

    • Similar Issues:

      Description

      When running on Java 7, Jenkins should ensure that all its ClassLoader instances are marked parallel-capable. This would improve class loading speed in some circumstances—mainly during startup or when first using new features, but also when searching for Groovy imports and the like.

      At least UberClassLoader, DependencyClassLoader, AntClassLoader2, and PluginFirstClassLoader should be so marked. (PluginFirstClassLoader ought to be made to extend AntClassLoader2 since we control it; all superclasses must be marked.) To work on Java 7, can use this idiom:

      try {
          Method m = ClassLoader.class.getDeclaredMethod("registerAsParallelCapable");
          m.setAccessible(true);
          boolean b = (Boolean) m.invoke(null);
          if (!b) {
              ...warn...
          }
      } catch (NoSuchMethodException x) {
          // fine, Java 6
      } catch (Exception x) {
          ...warn...
      }
      

      (Unfortunately this pattern must be repeated in such class, since registerAsParallelCapable is caller-sensitive.)

        Attachments

          Issue Links

            Activity

            jglick Jesse Glick created issue -
            jglick Jesse Glick made changes -
            Field Original Value New Value
            Link This issue is related to JENKINS-24309 [ JENKINS-24309 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 156574 ] JNJira + In-Review [ 179333 ]
            jglick Jesse Glick made changes -
            Attachment config.xml [ 33593 ]
            jglick Jesse Glick made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            jglick Jesse Glick made changes -
            Assignee Jesse Glick [ jglick ]
            jglick Jesse Glick made changes -
            Labels classloader performance threads classloader performance threads workflow
            jglick Jesse Glick made changes -
            Remote Link This issue links to "script-security PR 80 (Web Link)" [ 14721 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "workflow-cps PR 42 (Web Link)" [ 14722 ]
            jglick Jesse Glick made changes -
            Status In Progress [ 3 ] Open [ 1 ]
            abayer Andrew Bayer made changes -
            Labels classloader performance threads workflow classloader performance pipeline threads workflow
            abayer Andrew Bayer made changes -
            Labels classloader performance pipeline threads workflow classloader performance pipeline threads
            jglick Jesse Glick made changes -
            Remote Link This issue links to "PR 2581 (Web Link)" [ 14928 ]
            cloudbees CloudBees Inc. made changes -
            Remote Link This issue links to "CloudBees Internal CD-268 (Web Link)" [ 18945 ]
            jglick Jesse Glick made changes -
            Assignee Jesse Glick [ jglick ]

              People

              • Assignee:
                Unassigned
                Reporter:
                jglick Jesse Glick
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated: