Branch: refs/heads/master Home: https://github.com/jenkinsci/jenkins Commit: 2f2873800e60c468c715c131f050121a4b33c4e2 https://github.com/jenkinsci/jenkins/commit/2f2873800e60c468c715c131f050121a4b33c4e2 Author: joeljohnson <joeljohn...@attask.com> Date: 2013-02-16 (Sat, 16 Feb 2013)
Changed paths: M core/src/main/java/hudson/model/Actionable.java Log Message: ----------- Changing the sync to only sync before lazy loading the actions. The Actionable#getActions() method only needs to be synchronized when lazy loading. After that, the synchronization is superfluous and impacts performance. Since the field is volatile, the double-check block works in JDK5+. SeeĀ http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html for more in Analyzing various thread dumps, many threads and requests stall on this method waiting for the lock. Since the lock isn't necessary in most cases anyway, Commit: b225178c777cfafc4286b665939909fdfc90ed6f https://github.com/jenkinsci/jenkins/commit/b225178c777cfafc4286b665939909fdfc90ed6f Author: Kohsuke Kawaguchi <k...@kohsuke.org> Date: 2013-02-16 (Sat, 16 Feb 2013) Changed paths: M core/src/main/java/hudson/model/AbstractProject.java M core/src/main/java/hudson/model/labels/LabelAtom.java Log Message: ----------- To make the previous change more effective, these synchronized keywords need to go as well. This change is safe because (i) those actions are read-only and (ii) if they produce data that's bit old, that isn't really noticeable. Compare: https://github.com/jenkinsci/jenkins/compare/27f1fd142499...b225178c777c -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.