diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-05-21 01:44:33 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-05-21 01:44:33 +0000 |
| commit | 42b75b897add6ab295c18dfc4ce9937e4a212b3e (patch) | |
| tree | aaba056c94b5af1af4c90d5c8ef8f884268e6fa9 /docs/narr/views.rst | |
| parent | 7f12438f7900cbb5a56233aa2ad832196fe4c249 (diff) | |
| download | pyramid-42b75b897add6ab295c18dfc4ce9937e4a212b3e.tar.gz pyramid-42b75b897add6ab295c18dfc4ce9937e4a212b3e.tar.bz2 pyramid-42b75b897add6ab295c18dfc4ce9937e4a212b3e.zip | |
- Removed the pickling of ZCML actions (the code that wrote
``configure.zcml.cache`` next to ``configure.zcml`` files in
projects). The code which managed writing and reading of the cache
file was a source of subtle bugs when users switched between
imperative (e.g. ``@bfg_view``) registrations and declarative
registrations (e.g. the ``view`` directive in ZCML) on the same
project. On a moderately-sized project (535 ZCML actions and 15 ZCML
files), executing actions read from the pickle was saving us only
about 200ms (2.5 sec vs 2.7 sec average). On very small projects (1
ZCML file and 4 actions), startup time was comparable, and sometimes
even slower when reading from the pickle, and both ways were so fast
that it really just didn't matter anyway.
Diffstat (limited to 'docs/narr/views.rst')
| -rw-r--r-- | docs/narr/views.rst | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/docs/narr/views.rst b/docs/narr/views.rst index 87f191a3e..ecaa9784b 100644 --- a/docs/narr/views.rst +++ b/docs/narr/views.rst @@ -186,13 +186,11 @@ After you do so, you will not need to use any other ZCML to configure decorator to do this work. .. warning:: using this feature tends to slows down application - startup, as the application registry is not capable of being cached - within a ``configure.zcml.cache`` file when this package is in use, - and more work is performed at application startup to scan for view - declarations. Also, if you use decorators, it means that other - people will not be able to override your view declarations - externally using ZCML: this is a common requirement if you're - developing an exensible application (e.g. a framework). + startup slightly, as more work is performed at application startup + to scan for view declarations. Also, if you use decorators, it + means that other people will not be able to override your view + declarations externally using ZCML: this is a common requirement if + you're developing an exensible application (e.g. a framework). The ``bfg_view`` Decorator ~~~~~~~~~~~~~~~~~~~~~~~~~~ |
