You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "John Casey (JIRA)" <ji...@codehaus.org> on 2008/08/06 17:45:26 UTC

[jira] Created: (MNG-3698) Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations

Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations
------------------------------------------------------------------------------------------------------------------------

                 Key: MNG-3698
                 URL: http://jira.codehaus.org/browse/MNG-3698
             Project: Maven 2
          Issue Type: Improvement
          Components: Plugins and Lifecycle
    Affects Versions: 2.0.10
            Reporter: John Casey
             Fix For: 2.0.10


This is increasing time to build by anywhere from 20% up to a reported 300%, depending on whether reports and aggregator mojos are bound into the lifecycle phases that are executed. Best candidate for fixing this issue is currently to move this transition into the LIfecycleExecutor (out of the PluginManager and PluginParameterExpressionEvaluator) to make the transition less sensitive to report instantiation and forked lifecycles.

There are a couple of other potential performance improvements in the interpolator itself, such as giving a plausible buffer size to the StringWriter embedded for model interpolation, and hanging onto the plexus-interpolator RegexBasedInterpolator instance to prevent continual re-instantiation of the underlying regex Pattern object.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Closed: (MNG-3698) Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations

Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3698?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Casey closed MNG-3698.
---------------------------

    Resolution: Fixed

> Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-3698
>                 URL: http://jira.codehaus.org/browse/MNG-3698
>             Project: Maven 2
>          Issue Type: Improvement
>          Components: Plugins and Lifecycle
>    Affects Versions: 2.0.10
>            Reporter: John Casey
>            Assignee: John Casey
>            Priority: Blocker
>             Fix For: 2.0.10
>
>
> This is increasing time to build by anywhere from 20% up to a reported 300%, depending on whether reports and aggregator mojos are bound into the lifecycle phases that are executed. Best candidate for fixing this issue is currently to move this transition into the LIfecycleExecutor (out of the PluginManager and PluginParameterExpressionEvaluator) to make the transition less sensitive to report instantiation and forked lifecycles.
> There are a couple of other potential performance improvements in the interpolator itself, such as giving a plausible buffer size to the StringWriter embedded for model interpolation, and hanging onto the plexus-interpolator RegexBasedInterpolator instance to prevent continual re-instantiation of the underlying regex Pattern object.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (MNG-3698) Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations

Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3698?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Casey updated MNG-3698:
----------------------------

         Priority: Blocker  (was: Major)
         Assignee: John Casey
    Fix Version/s: 2.0.10

> Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-3698
>                 URL: http://jira.codehaus.org/browse/MNG-3698
>             Project: Maven 2
>          Issue Type: Improvement
>          Components: Plugins and Lifecycle
>    Affects Versions: 2.0.10
>            Reporter: John Casey
>            Assignee: John Casey
>            Priority: Blocker
>             Fix For: 2.0.10
>
>
> This is increasing time to build by anywhere from 20% up to a reported 300%, depending on whether reports and aggregator mojos are bound into the lifecycle phases that are executed. Best candidate for fixing this issue is currently to move this transition into the LIfecycleExecutor (out of the PluginManager and PluginParameterExpressionEvaluator) to make the transition less sensitive to report instantiation and forked lifecycles.
> There are a couple of other potential performance improvements in the interpolator itself, such as giving a plausible buffer size to the StringWriter embedded for model interpolation, and hanging onto the plexus-interpolator RegexBasedInterpolator instance to prevent continual re-instantiation of the underlying regex Pattern object.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MNG-3698) Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations

Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-3698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=146859#action_146859 ] 

John Casey commented on MNG-3698:
---------------------------------

Finally, I reimplemented the ModelUtils.cloneXXX(..) methods to use direct object construction instead of the previous attempt to reuse the DefaultModelInheritanceAssembler, or the interim attempt at using serialization/deserializationto get a guaranteed-clean copy.

> Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-3698
>                 URL: http://jira.codehaus.org/browse/MNG-3698
>             Project: Maven 2
>          Issue Type: Improvement
>          Components: Plugins and Lifecycle
>    Affects Versions: 2.0.10
>            Reporter: John Casey
>            Assignee: John Casey
>            Priority: Blocker
>             Fix For: 2.0.10
>
>
> This is increasing time to build by anywhere from 20% up to a reported 300%, depending on whether reports and aggregator mojos are bound into the lifecycle phases that are executed. Best candidate for fixing this issue is currently to move this transition into the LIfecycleExecutor (out of the PluginManager and PluginParameterExpressionEvaluator) to make the transition less sensitive to report instantiation and forked lifecycles.
> There are a couple of other potential performance improvements in the interpolator itself, such as giving a plausible buffer size to the StringWriter embedded for model interpolation, and hanging onto the plexus-interpolator RegexBasedInterpolator instance to prevent continual re-instantiation of the underlying regex Pattern object.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Reopened: (MNG-3698) Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations

Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3698?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Casey reopened MNG-3698:
-----------------------------


> Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-3698
>                 URL: http://jira.codehaus.org/browse/MNG-3698
>             Project: Maven 2
>          Issue Type: Improvement
>          Components: Plugins and Lifecycle
>    Affects Versions: 2.0.10
>            Reporter: John Casey
>            Assignee: John Casey
>            Priority: Blocker
>             Fix For: 2.0.10
>
>
> This is increasing time to build by anywhere from 20% up to a reported 300%, depending on whether reports and aggregator mojos are bound into the lifecycle phases that are executed. Best candidate for fixing this issue is currently to move this transition into the LIfecycleExecutor (out of the PluginManager and PluginParameterExpressionEvaluator) to make the transition less sensitive to report instantiation and forked lifecycles.
> There are a couple of other potential performance improvements in the interpolator itself, such as giving a plausible buffer size to the StringWriter embedded for model interpolation, and hanging onto the plexus-interpolator RegexBasedInterpolator instance to prevent continual re-instantiation of the underlying regex Pattern object.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MNG-3698) Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations

Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-3698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=144550#action_144550 ] 

John Casey commented on MNG-3698:
---------------------------------

Moved transition code to DefautlLifecycleExecutor, away from DefaultPluginManager and PluginParameterExpressionEvaluator, to reduce number of transitions. Also, improved the efficiency of this transition to make it a little smoother, and fixed a small logical error in the transition itself.

> Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-3698
>                 URL: http://jira.codehaus.org/browse/MNG-3698
>             Project: Maven 2
>          Issue Type: Improvement
>          Components: Plugins and Lifecycle
>    Affects Versions: 2.0.10
>            Reporter: John Casey
>            Assignee: John Casey
>            Priority: Blocker
>             Fix For: 2.0.10
>
>
> This is increasing time to build by anywhere from 20% up to a reported 300%, depending on whether reports and aggregator mojos are bound into the lifecycle phases that are executed. Best candidate for fixing this issue is currently to move this transition into the LIfecycleExecutor (out of the PluginManager and PluginParameterExpressionEvaluator) to make the transition less sensitive to report instantiation and forked lifecycles.
> There are a couple of other potential performance improvements in the interpolator itself, such as giving a plausible buffer size to the StringWriter embedded for model interpolation, and hanging onto the plexus-interpolator RegexBasedInterpolator instance to prevent continual re-instantiation of the underlying regex Pattern object.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Closed: (MNG-3698) Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations

Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MNG-3698?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Casey closed MNG-3698.
---------------------------

    Resolution: Fixed

> Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-3698
>                 URL: http://jira.codehaus.org/browse/MNG-3698
>             Project: Maven 2
>          Issue Type: Improvement
>          Components: Plugins and Lifecycle
>    Affects Versions: 2.0.10
>            Reporter: John Casey
>            Assignee: John Casey
>            Priority: Blocker
>             Fix For: 2.0.10
>
>
> This is increasing time to build by anywhere from 20% up to a reported 300%, depending on whether reports and aggregator mojos are bound into the lifecycle phases that are executed. Best candidate for fixing this issue is currently to move this transition into the LIfecycleExecutor (out of the PluginManager and PluginParameterExpressionEvaluator) to make the transition less sensitive to report instantiation and forked lifecycles.
> There are a couple of other potential performance improvements in the interpolator itself, such as giving a plausible buffer size to the StringWriter embedded for model interpolation, and hanging onto the plexus-interpolator RegexBasedInterpolator instance to prevent continual re-instantiation of the underlying regex Pattern object.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MNG-3698) Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations

Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MNG-3698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=146857#action_146857 ] 

John Casey commented on MNG-3698:
---------------------------------

Additionally, I implemented a new ModelInterpolator that uses reflection instead of serialization/deserialization, and String.indexOf(..) to search for expressions inside values instead of regex Pattern/Matcher instances.

> Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-3698
>                 URL: http://jira.codehaus.org/browse/MNG-3698
>             Project: Maven 2
>          Issue Type: Improvement
>          Components: Plugins and Lifecycle
>    Affects Versions: 2.0.10
>            Reporter: John Casey
>            Assignee: John Casey
>            Priority: Blocker
>             Fix For: 2.0.10
>
>
> This is increasing time to build by anywhere from 20% up to a reported 300%, depending on whether reports and aggregator mojos are bound into the lifecycle phases that are executed. Best candidate for fixing this issue is currently to move this transition into the LIfecycleExecutor (out of the PluginManager and PluginParameterExpressionEvaluator) to make the transition less sensitive to report instantiation and forked lifecycles.
> There are a couple of other potential performance improvements in the interpolator itself, such as giving a plausible buffer size to the StringWriter embedded for model interpolation, and hanging onto the plexus-interpolator RegexBasedInterpolator instance to prevent continual re-instantiation of the underlying regex Pattern object.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira