Foliage sprint day 2
Stephan Richter convinced me to try the ZCML optimization task. Zope 3 parses and interprets hundreds of little ZCML configuration files on startup. The idea was that if we can cache pre-parsed configuration on disk, we could speed up Zope 3 startup by 30–50%.
I originally tried this approach back in 2004 but couldn't get it to work. Today, thanks to Stephan Richter, who took over the most boring and difficult parts (making view directives pickleable), we got to a point where Zope 3 works after loading the configuration pickle instead of parsing ZCMLs (and starts up in 2 seconds instead of 3).