On Wed, 6 Feb 2008, Benjamin M. Schwartz wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Tomeu Vizoso wrote: >> By the data in #5228, looks like more than 50% of time is spent >> importing modules. dbus, telepathy and pygtk make for more than 30% of >> _total_ startup time. > > There has been much talk about fork()ing the python interpreter for each > activity instead of starting a new interpreter. AFAIK, the python interpreter > only does nontrivial work the first time a module is imported in each > interpreter. By this logic, if we use a forked interpreter and import these > modules at the root, it seems that the import will only have to happen once at > Sugar startup, rather than once for each Activity. > > I would appreciate a comment on this from someone who knows more about the > relevant issues, like the interaction of CoW memory and python modules.
I can't comment on python modules, but I've seen similar issue on shared libraries with firewall proxies that did a fork for each connection. when they used a bunch of shared libraries, the cost of library setup at each fork was pretty significant (enough to cut the throughput by a factor of 10 compared to a staticly linked version) if you can get the linking and initialization step down to once per boot it will bee a huge win. David Lang _______________________________________________ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel