On 12/06/10 5:41 AM, Steve Appling wrote:
The configuration phase of our build takes quite a while and I finally looked
into it some today. I did find a few things we could change on our own, but
one issue seems related to the way script based plugins work ( like apply from:
plugin('plugin_script_name') ).
We are using two different plugin scripts which are called from inside our root
project's allprojects closure. The plugin script objects are apparently
re-loaded and re-instantiated for each project. This resulted in
DefaultScriptCompilerFactory.loadViaCache being called over 150 times. The
loadViaCache calls triggered by 'apply from:' totaled 5.6 seconds. In
contrast, the 70 calls to load and run the Java plugin only took a total of
.044 seconds. The non-script plugins use a hierarchy of PluginRegistry objects
to look up the appropriate plugin instance and don't re-create them every time.
The script based plugins need something like this if they are going to perform
well.
This is a really important thing to do. Could you add a JIRA issue for this?
--
Adam Murdoch
Gradle Developer
http://www.gradle.org
CTO, Gradle Inc. - Gradle Training, Support, Consulting
http://www.gradle.biz
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email