RFC: startup time - again

Dennis Benzinger Dennis.Benzinger at gmx.net
Thu Sep 11 11:24:54 BST 2008


Am 11.09.2008 02:49, Robert Collins schrieb:
> On Wed, 2008-09-10 at 14:21 +0200, Dennis Benzinger wrote:
>> [...]
>> If you really want to do that please keep Bazaar usable only with Python
>> and do not require C to run Bazaar if I don't really need the speed
>> improvements.
> 
> We don't require C at all at the moment. Its *strongly* recommended.
> (Diff is ten times faster with C, status similarly). In fact we have a
> policy that all C extensions must be optional ones rather than required
> - there must be a python implementation that is interface tested to
> behave equivalently and is coded for clarity, which aids porting, and
> adhoc use by users where binary packages are not available, or the C
> extensions fail to build.

That's a good policy. At least as long as "strongly recommended" only
means that C improves performance and does not add features that are not
available with pure Python.

> I've always been strongly behind this policy, and I still am. *IF* I
> were to put forward a concrete plan to allow significantly deeper C
> integration, I would definitely retain this policy, such that you can
> always run bzr without C extensions. I think that that is a must.
> [...]

Then I'm happy with whatever C code it takes to make Bazaar faster. I'd
prefer Cython/Pyrex code over hand written C for hackability, but that's
your decision.

> bzr-svn already needs C, because the python bindings for libsvn were
> such a headache the author of bzr-svn wrote his own. I think plugins are
> entirely unrelated to whether or not the core uses C (it already does) -
> because plugins can choose to need, or not need C, themselves.
> [...]

If some parts of Bazaar are coded in C can Python plugins still
interface with these parts? Or are all the interesting places where a
plugin would want to hook in are still Python?


Bye,
Dennis Benzinger



More information about the bazaar mailing list