You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org> on 2011/09/23 22:49:26 UTC
[jira] [Created] (TAP5-1665) Tapestry could create non-singleton
services more efficiently
Tapestry could create non-singleton services more efficiently
-------------------------------------------------------------
Key: TAP5-1665
URL: https://issues.apache.org/jira/browse/TAP5-1665
Project: Tapestry 5
Issue Type: Improvement
Components: tapestry-ioc
Affects Versions: 5.3, 5.2
Reporter: Howard M. Lewis Ship
For services that may be created again on each request, Tapestry does a lot of extra work to analyze the class, constructor and fields. It should be able to roll up all this information into a repeatable "plan" that can simply be re-executed on each subsequent instance creation.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-1665) Tapestry could create non-singleton
services more efficiently
Posted by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Howard M. Lewis Ship closed TAP5-1665.
--------------------------------------
Resolution: Fixed
Fix Version/s: 5.3
Tapestry now generates a reusable "plan" for invoking constructors or service builder methods, and will retain that plan for scopes other than the default "singleton" scope. This skips a large amount of repeated analysis of fields and public methods and constructor/method arguments.
It does introduce a tiny change in semantics, in that an @Autobuild parameter to a service will be cached and reused, rather than recreated on each construction.
> Tapestry could create non-singleton services more efficiently
> -------------------------------------------------------------
>
> Key: TAP5-1665
> URL: https://issues.apache.org/jira/browse/TAP5-1665
> Project: Tapestry 5
> Issue Type: Improvement
> Components: tapestry-ioc
> Affects Versions: 5.3, 5.2
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: performance
> Fix For: 5.3
>
>
> For services that may be created again on each request, Tapestry does a lot of extra work to analyze the class, constructor and fields. It should be able to roll up all this information into a repeatable "plan" that can simply be re-executed on each subsequent instance creation.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (TAP5-1665) Tapestry could create non-singleton
services more efficiently
Posted by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Howard M. Lewis Ship reassigned TAP5-1665:
------------------------------------------
Assignee: Howard M. Lewis Ship
> Tapestry could create non-singleton services more efficiently
> -------------------------------------------------------------
>
> Key: TAP5-1665
> URL: https://issues.apache.org/jira/browse/TAP5-1665
> Project: Tapestry 5
> Issue Type: Improvement
> Components: tapestry-ioc
> Affects Versions: 5.3, 5.2
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: performance
>
> For services that may be created again on each request, Tapestry does a lot of extra work to analyze the class, constructor and fields. It should be able to roll up all this information into a repeatable "plan" that can simply be re-executed on each subsequent instance creation.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (TAP5-1665) Tapestry could create non-singleton
services more efficiently
Posted by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Howard M. Lewis Ship reassigned TAP5-1665:
------------------------------------------
Assignee: Howard M. Lewis Ship
> Tapestry could create non-singleton services more efficiently
> -------------------------------------------------------------
>
> Key: TAP5-1665
> URL: https://issues.apache.org/jira/browse/TAP5-1665
> Project: Tapestry 5
> Issue Type: Improvement
> Components: tapestry-ioc
> Affects Versions: 5.3, 5.2
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: performance
>
> For services that may be created again on each request, Tapestry does a lot of extra work to analyze the class, constructor and fields. It should be able to roll up all this information into a repeatable "plan" that can simply be re-executed on each subsequent instance creation.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Closed] (TAP5-1665) Tapestry could create non-singleton
services more efficiently
Posted by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Howard M. Lewis Ship closed TAP5-1665.
--------------------------------------
Resolution: Fixed
Fix Version/s: 5.3
Tapestry now generates a reusable "plan" for invoking constructors or service builder methods, and will retain that plan for scopes other than the default "singleton" scope. This skips a large amount of repeated analysis of fields and public methods and constructor/method arguments.
It does introduce a tiny change in semantics, in that an @Autobuild parameter to a service will be cached and reused, rather than recreated on each construction.
> Tapestry could create non-singleton services more efficiently
> -------------------------------------------------------------
>
> Key: TAP5-1665
> URL: https://issues.apache.org/jira/browse/TAP5-1665
> Project: Tapestry 5
> Issue Type: Improvement
> Components: tapestry-ioc
> Affects Versions: 5.3, 5.2
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: performance
> Fix For: 5.3
>
>
> For services that may be created again on each request, Tapestry does a lot of extra work to analyze the class, constructor and fields. It should be able to roll up all this information into a repeatable "plan" that can simply be re-executed on each subsequent instance creation.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1665) Tapestry could create non-singleton
services more efficiently
Posted by "Hudson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1665?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13113897#comment-13113897 ]
Hudson commented on TAP5-1665:
------------------------------
Integrated in tapestry-trunk-freestyle #539 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/539/])
TAP5-1665: Tapestry could create non-singleton services more efficiently
TAP5-1665: Tapestry could create non-singleton services more efficiently
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1175104
Files :
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/AbstractMethodInvokingInstrumenter.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/IOCMessages.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ModuleImpl.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ServiceBuilderMethodInvoker.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/InternalUtils.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/MethodInvoker.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/resources/org/apache/tapestry5/ioc/internal/IOCStrings.properties
* /tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/IntegrationTest.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/ServiceBuilderMethodInvokerTest.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/ServiceDecoratorImplTest.java
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1175103
Files :
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/AbstractReloadableObjectCreator.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ConstructorServiceCreator.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/IOCMessages.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/ConstructionPlan.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/ConstructorInvoker.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/InitializationPlan.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/InternalUtils.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/LoggingInvokableWrapper.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/resources/org/apache/tapestry5/ioc/internal/IOCStrings.properties
* /tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/IntegrationTest.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImplTest.java
> Tapestry could create non-singleton services more efficiently
> -------------------------------------------------------------
>
> Key: TAP5-1665
> URL: https://issues.apache.org/jira/browse/TAP5-1665
> Project: Tapestry 5
> Issue Type: Improvement
> Components: tapestry-ioc
> Affects Versions: 5.3, 5.2
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: performance
> Fix For: 5.3
>
>
> For services that may be created again on each request, Tapestry does a lot of extra work to analyze the class, constructor and fields. It should be able to roll up all this information into a repeatable "plan" that can simply be re-executed on each subsequent instance creation.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (TAP5-1665) Tapestry could create non-singleton
services more efficiently
Posted by "Hudson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TAP5-1665?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13113897#comment-13113897 ]
Hudson commented on TAP5-1665:
------------------------------
Integrated in tapestry-trunk-freestyle #539 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/539/])
TAP5-1665: Tapestry could create non-singleton services more efficiently
TAP5-1665: Tapestry could create non-singleton services more efficiently
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1175104
Files :
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/AbstractMethodInvokingInstrumenter.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/IOCMessages.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ModuleImpl.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ServiceBuilderMethodInvoker.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/InternalUtils.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/MethodInvoker.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/resources/org/apache/tapestry5/ioc/internal/IOCStrings.properties
* /tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/IntegrationTest.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/ServiceBuilderMethodInvokerTest.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/ServiceDecoratorImplTest.java
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1175103
Files :
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/AbstractReloadableObjectCreator.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ConstructorServiceCreator.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/IOCMessages.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/ConstructionPlan.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/ConstructorInvoker.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/InitializationPlan.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/InternalUtils.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/LoggingInvokableWrapper.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/main/resources/org/apache/tapestry5/ioc/internal/IOCStrings.properties
* /tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/IntegrationTest.java
* /tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImplTest.java
> Tapestry could create non-singleton services more efficiently
> -------------------------------------------------------------
>
> Key: TAP5-1665
> URL: https://issues.apache.org/jira/browse/TAP5-1665
> Project: Tapestry 5
> Issue Type: Improvement
> Components: tapestry-ioc
> Affects Versions: 5.3, 5.2
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Labels: performance
> Fix For: 5.3
>
>
> For services that may be created again on each request, Tapestry does a lot of extra work to analyze the class, constructor and fields. It should be able to roll up all this information into a repeatable "plan" that can simply be re-executed on each subsequent instance creation.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira