[RFC][PERFORMANCE][PYREX][TIRED OF THESE YET?] *fast* walkdirs.

Martin Pool mbp at canonical.com
Wed Jun 14 03:17:57 BST 2006


On 10/06/2006, at 3:15 AM, Alexander Belchenko wrote:

> Robert Collins пишет:
>> The attached patch combines two things:  * Proof of concept work  
>> for using pyrex for selected modules, to
>> provide a C version and a python version. Its likely that the C  
>> version
>> would be platform specific in some cases, and not in other.
>>  * A demonstration with pyrex of binding to readdir to get directory
>> type information. When available this provides a 50% speedup to  
>> the time
>> to walk the directory tree - even when the whole tree is in hot  
>> cache -
>> for the 10K kernel-like-tree scenario.
>> Obviously having C modules should be done with care given their
>> downsides - loops in the C module will ignore Ctrl-C unless you
>> explicitly check for it, bugs are harder to analyse, etc etc.
>
> May I suggest to keep this new C-modules in separate branch, not in  
> bzr.dev until it goes mature?
>
> Because having C-modules require to compiling it and this is create  
> some difficulties on windows (where C-compilers is not default part  
> of installation).
>
> As compromise I suggest to make new C-extensions optional and give  
> a chance to bzr to works even without it. I did not look at your  
> patch so probably you already provide this option.

If possible I'd like them to actually be plugins loaded through the  
regular mechanism.  They may need to patch themselves into bzr and  
perhaps it's not always possible, but something to aim for.

> Or new phase of bzr development means that 0.8.2 is latest stable  
> bzr version for windows users (without having pain with compiling C- 
> extension) for some time (probably months)?

I think bzr.dev is already significantly faster and so we should be  
able to do an 0.9 in the next month or so without relying on C  
extensions.

-- 
Martin







More information about the bazaar mailing list