whit wrote:
Adam Groszer wrote:

I personally am tired of restarting z3 each time I made an error even
if it is just one char mistype. I'm doing now a wx based app, and the
problem is the same... made an error, restart, click 10 times...
It would be also a way to have a developer version which might run
slower.


amen... In the plone community, we have several influential developers who don't use z3 tech I suspect because developing with pythonscript is *still faster* than writing views and adapters because one doesn't have to reload to see minor code changes.

also, in z2 land, refreshing a product loses all the related z3 registrations.

being able to dynamically reload without restart would be a huge fricking win.

I guess we need to make this a priority for the next release.

Python simply does not support a general robust reload, other than
restart.

I think that there are 2 ways we can make progress in this area:

- Speed up restart.  I think there are a lot of ways that restarts
  can be made faster:

  o Optimizae what we're doing now.  I suspect that there are some
    opportunuties here.

  o Load less.  A Zope 3 application that only loads what it actually
    uses will load much more quickly than a full Zope 3 checkout.

    The Zope 3 checkout has as much as it does to provide a
    way to test a range of applications when we modify Zope 3.
    We need to have a better way of solving this problem without
    such a bloated checkout configuration.

    Also, we need to make progress with packaging, to make
    it easier for people to get just the components they need.
    I wanted to switch to eggs for the 3.3 release, but, sadly,
    there wasn't enough time.  I think switching to package-based
    distributions and installation should be a top priority for
    3.4.

    Finally, there's a lot of interest in generating configuration
    actions in Python, rather than ZCML.  I suspect that avoiding
    XML processing, conversion, and validation might speed startup
    quite a bit.

- Look at opprtunities for limited robust reload.  Perhaps we could
  define reloadable modules, especially for defining adapters,
  with restrictions on their definitions and exports in a way
  that allows robust reload.  This would probably be based on the
  persistent-module experiments.  This is a fair bit of deep work
  though and I'm not sure who has the interest and ability to make
  it happen.

I'm really not interested in a reload faclity, like the one commonly
used in Zope 2, that is not robust.  I've wasted too many hours
helping people debug problems that were caused by reload misshaps.

Jim

--
Jim Fulton           mailto:[EMAIL PROTECTED]       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org
_______________________________________________
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to